malloc函数 权威官方解释
下面将详细为大家总结整理知识点。
malloc函数 知识点总结
malloc函数原型
void* malloc(size_t size)
//size_t是无符号整型unsigned int
malloc函数作用
C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。
malloc是分配内存空间的函数。
malloc函数参数
利用sizeof操作符计算需要某变量的大小来申请相应的内存空间。
因为内存空间不可能是负数,所以返回无符号整型size_t。
malloc函数小知识点
在malloc函数分配好内存空间之后,这个函数将返回指向该内存块的起始位置,即指针。
新分配的内存若没有初始化,则那么就是随机值。
如果malloc中参数的size为0,那么分配空间将取决于该特定的库实现,它可能是也可能不是空指针,但是该空指针(也就是野指针)是不能被解引用的。
malloc函数易错点
malloc内的参数是需要动态分配的字节数,而不是可以存储的元素个数!
当动态分配内存时,存储的是字符型数据,每个元素1字节,所以字节数刚好等于需要存储的元素个数(字符数+1);
如果存储的是整型或浮点型数据,字节数等于“ 需要存储的元素个数 * 一个元素的字节数”,代码格式:
type *var_name = (type*)malloc(sizeof(type)*num);
malloc函数使用实例
指针自身 = (指针类型*)malloc(sizeof(指针类型)*数据数量)
int *p = NULL;
int n = 10;
p = (int *)malloc(sizeof(int)*n);