result指向的内存块长度是14字节。

result是一个指向int类型的指针,所以sizeof(result)将返回指针的大小,即4字节。

result指向的内存块长度为14字节的原因是,malloc函数分配了10个字节的内存空间,并在其后面再分配了一个int类型的内存空间(4字节)。所以总共是10 + 4 = 14字节。

free函数释放的是通过malloc分配的内存空间,即10 + 4 = 14字节的内存空间。

假如int是4字节长度int result = intmalloc10 + sizeofint;free intvoidresult + 1 - 1;result指向的内存块长度是4还是14?为何result指向的内存块长度是14字节?这个14存在指针内容里吗?通过sizeofresult变量名指向的字节长度是free掉的字节是4长度还是14字节长度

原文地址: http://www.cveoy.top/t/topic/iEoD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录