malloc 分配内存为零的问题

来源:互联网 发布:js实现动态进度条 编辑:程序博客网 时间:2024/05/16 14:26
malloc分配的实际字节数目其实并不是传入的SIZE大小
而是SIZE大小+内存控制块的结构体大小
当SIZE=0的时候,实际分配的是一个内存控制块的大小内存
这个时候,malloc返回的是一个有效指针(分配成功),或者NULL(分配失败)

作为应用,在调用malloc函数的时候,应该忽略内存控制块的大小,只操控SIZE大小的区域
因为内存控制块本身就是做内存管理用的,不应该被应用乱写
虽然C的灵活性给程序员提供了乱写的途径
原创粉丝点击