gpt4 book ai didi

c - 动态分配的变量大小

转载 作者:行者123 更新时间:2023-11-30 17:00:41 24 4
gpt4 key购买 nike

当我运行这个程序时,输出是 4 个字节。 (我使用64位编译器)

#include <stdio.h>
#include <stdlib.h>

int main(void) {
int *b;
b=(int*)malloc(10*sizeof(int));
printf("%d",sizeof(b));
return 0;
}

但是输出不应该是 40 字节吗,因为我为“b”动态分配 40 字节的空间?

最佳答案

没有;它应该与 printf("%zu", sizeof(int *)); 相同,在您的实现中,无论您为 b 分配什么值,它都是 4 ,因为 b 的类型为 int *,而不是 int [10]

关于c - 动态分配的变量大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37447198/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com