gpt4 book ai didi

c - 如何定义 &array 的算术

转载 作者:行者123 更新时间:2023-12-04 20:02:31 24 4
gpt4 key购买 nike

我了解了大部分指针运算,直到我看到以下内容:

int x[5];
sizeof(x) // equals 20
sizeof(&x) // equals 4 -- sizeof(int))

到目前为止,我给出的语义是:指向 T 的 N 元素数组的指针——在 &x

的情况下

然而,当执行 x+1 时,我们使用 sizeof(int) 递增,而当我们执行 &x+1 时,我们使用 递增sizeof(x)

这是否有一些潜在的逻辑,即一些等价物,因为这感觉非常不直观。

/edit,感谢@WhozCraig,我得出的结论是我犯了一个错误:

sizeof(&x) // equals 4 -- sizeof(int)) 

应该是

sizeof(&x) // equals 8 -- sizeof(int))

经验教训:不要发布你没有直接运行的代码

最佳答案

x 是 int[5] 类型,所以 &x 是指向包含五个元素的整数数组的指针,当向 &x 添加 1 时,您将递增到下一个包含 5 个元素的数组。

关于c - 如何定义 &array 的算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23699648/

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