gpt4 book ai didi

c++ - 数组的地址

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:40:29 24 4
gpt4 key购买 nike

int t[10];

int * u = t;

cout << t << " " << &t << endl;

cout << u << " " << &u << endl;

输出:

0045FB88 0045FB88
0045FB88 0045FB7C

u 的输出是有意义的。

我明白t&t[0]应该有相同的值,但是为什么&t也一样呢? &t 到底是什么意思?

最佳答案

t 在表达式中单独使用时,会发生数组到指针的转换,这会生成指向数组第一个元素的指针。

t 用作 & 运算符的参数时,不会发生此类转换。 & 然后显式获取 t(数组)的地址。 &t 是指向整个数组的指针。

数组的第一个元素与整个数组的开始在内存中的位置相同,因此这两个指针具有相同的值。

关于c++ - 数组的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52016743/

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