gpt4 book ai didi

c - sizeof(&a[0]) 对于 int 数组 'a' 意味着什么?

转载 作者:行者123 更新时间:2023-11-30 18:45:49 26 4
gpt4 key购买 nike

因此,如果我运行此代码,它将给出预期的答案 9

int main()
{
int a[]={9,8,7,6,5,4,3,2,1};
int n=sizeof(a)/sizeof(a[0]); printf("%d", n);
}

但如果我将 sizeof(a[0]) 更改为 sizeof(&a[0])..那么输出为 4为什么会出现这种情况?当给定 sizeof(&a[0]) 时,计算机究竟会“思考”什么?

最佳答案

C 中数组 a 上的

&a[0] 生成其第一个元素的地址。在 16 位系统上,该地址的 sizeof 很可能是 2,在 32 位系统上,该地址的 sizeof 很可能是 4,而在 64 位系统上,该地址的 sizeof 很可能是 2。位制,为8。

关于c - sizeof(&a[0]) 对于 int 数组 'a' 意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53568416/

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