C语言malloc分配内存:深入解析内存块大小与free行为
result指向的内存块长度是14字节。这是因为在malloc函数中,为了存储额外的信息(在这种情况下是一个int),会在分配的内存块之前分配额外的空间。所以实际分配的内存块长度是所需空间的大小(10字节)加上额外的空间(4字节),总共为14字节。
这个14字节的信息并不存储在result指针指向的内存块里。它是由malloc函数内部来管理的,以便在调用free函数时能够正确释放整个内存块。
free函数只会释放由malloc分配的内存块,不会影响额外的空间。所以调用free函数后,实际释放的内存块长度仍然是10字节。
原文地址: https://www.cveoy.top/t/topic/qk0s 著作权归作者所有。请勿转载和采集!