第12章 存储类别、链接和内存管理

第12章 存储类别、链接和内存管理


——《C Primer Plus》的搬运工,仅记录自己觉得重要的内容,方便以后参考

12.4 分配内存:malloc()和free()

用库函数分配和管理内存
静态数据在程序载入内存时分配
自动数据在程序执行块时分配,并在程序离开该块时销毁
malloc()函数接受一个参数,所需的内存字节数,该函数会找到合适的空闲内存块,这样的内存是匿名的,即malloc()分配内存,但是不会为其赋名,同时返回动态分配内存块的首节地址,因此可以把该地址赋给一个指针,并使用指针访问这块内存。
malloc()函数可以返回指向数组的指针、指向结构的指针,通常该函数的返回值被强制转换成匹配的类型。
malloc()分配内存失败则返回空指针

double* ptd;
ptd=(double*)malloc(30*sizeof(double));
指针ptd被声明为一个指向double类型,而不是指向含有30double类型值的块,即指向该快的一个首元素
ptd[i]

free()函数的参数是malloc()返回的地址,即释放分配的内存

free(ptd);

分配内存失败可以利用exit()函数结束程序

exit(EXIT_FAILURE);//程序异常终止

12.4 calloc()函数-没看

——所有代码仅表示关键步骤,可能无法正常运行

发布了19 篇原创文章 · 获赞 0 · 访问量 1051

猜你喜欢

转载自blog.csdn.net/L_fengzifei/article/details/104742618