C语言,请问下如果定义一个数组,用malloc分配空间,那么再用sizeof计算数组名,大小是什么

C语言,请问下如果定义一个数组,用malloc分配空间,那么再用sizeof计算数组名,大小是什么自己申请的内存是放在堆区,那么sizeof计算的内存是栈区的,那么是不是计算出来并不对

你的理解是对的。

用malloc分配的空间是分配在堆中,malloc的返回值只是这个空间的首地址,一般我们会将它保存到一个指针变量中,以便以后使用。而任何类型的指针变量的size都是固定的(现在一般为4个字节),所以sizeof(指针变量)的结果是4,计算出来的并不是分配的空间的字节数。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答