安卓编程吧 关注:28,248贴子:21,267
  • 0回复贴,共1

c语言 malloc函数详解,学习使我快乐...

只看楼主收藏回复

malloc分配的内存大小至少为参数所指定的字节数
malloc的返回值是一个指针,指向一段可用内存的起始位置,指向一段可用内存的起始地址,多次调用malloc所分配的地址不能有重叠部分,除非某次malloc所分配的地址被释放掉malloc应该尽快完成内存分配并返回(不能使用NP-hard的内存分配算法)实现malloc时应同时实现内存大小调整和内存释放函数(realloc和free)
malloc和free是配对的,如果申请后不释放就是内存泄露,如果无故释放那就是什么也没做,释放只能释放一次,如果一块空间释放两次或者两次以上会出现错误(但是释放空指针例外,释放空指针也等于什么也没做,所以释放多少次都是可以的。)
new返回指定类型的指针,并且可以自动计算所需要的大小。
int *p;p = new int;//返回类型为int* ,分配的大小是sizeof(int)p = new int[100];//返回类型是int*类型,分配的大小为sizeof(int)*100
而malloc需要我们自己计算字节数,并且返回的时候要强转成指定类型的指针。
更多学习资料尽在网盘
链接:https://pan.baidu.com/s/1rJZ6Lqn93gclUdgifkhgPg
提取码:hfo4
复制这段内容后打开百度网盘手机App,操作更方便哦
有兴趣的话,就一起来学习吧,笔芯~~~



回复
1楼2019-12-04 16:05