malloc()分配的堆内存为什么比实际的大

来源:互联网 发布:三国志13英雄苍穹数据 编辑:程序博客网 时间:2024/05/17 04:20


请看,如果用malloc(n)来分配堆内存,那么分配的内存比n大,为什么呢?

0.malloc分配的内存不一定连续,所以需要header指针来链接各部分

1.实际分配的堆内存是Header + n结构。返回给用户的是n部分的首地址  所以他还有一部分内存是用来存header的,所以比原始的大

2.由于内存对齐值8,内存对其机制,实际分配的堆内存大于等于sizeof(Header) + n

0 0
原创粉丝点击