C语言malloc()函数,动态分配内存,不初始化
malloc()函数
C语言的malloc()是stdlib.h中的函数,可用于动态分配内存,与前面章节中介绍的calloc()函数不同的是,malloc()动态分配内存之后,并不会将其进行初始化。malloc()函数返回值为一个指向分配好内存的地址的指针。malloc()语法如下:
void* malloc(int size);
malloc()参数
参数 | 描述 |
---|---|
size | int类型,以字节为单位,指定分配的内存空间的大小(非元素的大小) |
calloc()实例代码
下面实例使用malloc()函数动态分配一个sizeof(int)大小的内存,并输出,之后使用前面章节介绍的free()函数来释放内存空间,并将指针指向NULL,避免悬挂指针:
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int main() {
int *ptr = malloc(sizeof(int));
if(ptr == NULL){
printf("未动态分配内存\n");
}else{
printf("动态分配内存完成\n");
*ptr = 1;
printf("%d\n", *ptr);
}
// free()函数释放内存
free(ptr);
// 指针指向NULL,避免悬挂指针
ptr = NULL;
return 0;
}
代码运行后,得到输出值为:
动态分配内存完成
1
免责声明:内容仅供参考,不保证正确性。