本帖最后由 wtj900 于 2015-9-6 20:15 编辑
1)malloc 函数 格式: void * malloc(unsigned size); 从内存的堆区分配大小为size个字节的连续的内存空间 如果内存分配成功 返回内存的首地址 失败 NULL 注意:malloc 申请的内存空间,如果我们不赋值是垃圾数 例:int *p = (int *)malloc(4*sizeof(int)); //16个字节 memset(p,'a',16);//使用一个函数给malloc申请的空间进行初始化
2)callloc 分配指定块数和长度的内存空间 格式:calloc(块数,长度) calloc 它可以帮我们自动的初始化为0 例:int *p = (int *)calloc(4, sizeof(int)); //16个字节
3)realloc 函数可以给已经存在的空间扩充大小 例:p = realloc(p, 40*sizeof(int));
4)应该使用free()函数释放内存空间 格式:free(要释放的空间的首地址) free(p); free(p)以后,p是一个野指针,要执行下面的操作 p = NULL;
|