C语言malloc函数
malloc()动态分配内存存储空间
头文件:#include<stdlib.h>
原型:void *malloc(size_t size)
参数说明:size
为需要分配的内存空间大小,单位是Byte
函数说明:在堆区分配一块size Byte
大小的内存空间,用于存放数据,这块内存空间被分配后不会被初始化,因此这些内存空间对应的值是未知的。如果需要对分配的内存初始化,可以使用 calloc()
函数
返回值:分配成功返回指向分配的内存的指针,注意的是虽然该函数返回值类型是void *
,void
并不是指没有返回值或者空指针,而是返回指针类型未知,所以在使用malloc()
函数经常要使用到强制类型转换
char *pr = (char *)malloc(10);
calloc()分配内存空间并初始化
头文件: #include<stdlib.h>
原型:void *calloc(size_t size, size_t num);
参数说明:num
为需要连续分配的空间的个数,size
为每个分配空间的大小,单位Byte。
函数说明:在内存中动态分配num
个长度为size Byte
的连续的内存空间,并给每个字节都初始化为0。
返回值:分配成功返回指向该内存的地址,失败则返回NULL,同样和malloc()
函数一样的是函数返回值类型是void *
。