malloc申请内存空间后多了8个字节
下面代码的作用是申请1000字节的内存空间,然后显示当前可用内存,再释放之,再显示当前可用内存。
memaddr =(int*) malloc(1000);
printf("释放内存前未使用内存空间大小为:%lu\n",coreleft());
free(memaddr2);
printf("释放内存后未使用内存空间大小为:%lu\n",coreleft());
那么,问题来了:
为什么前后地址相差1008,比申请的1000多了8个字节,试了好多个数字都是如此,总会多8个字节?
还有,怎样对返回的首地址值进行分析在内存的位置?比如哪页?