c++ - 引用数组的方法

标签 c++ pointers

<分区>

Possible Duplicate:
C: How come an array’s address is equal to its value?

有人可以帮我解释数组衰减吗?具体来说,我对 1) 数组如何引用自身感到困惑,以及 2) 当我定义

int array[] = { 45, 67, 89 };

那么array、&array、&array[0]都是指这个数组吗?我发现它们在打印时显示为相同的输出,但它们在内存中指的是完全相同的东西吗?

最佳答案

then array, &array,and &array[0] all refer to this array?

内存位置相同,但类型不同。

  • array 就是:一个包含 3 个整数的数组
  • &array 的类型是 int (*)[3],一个指向数组的指针
  • &array[0] 的类型为 int *,指向单个整数的指针

关于c++ - 引用数组的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12870261/

相关文章:

c++ - 尝试在枚举值中组合标志

c++ - 二维数组错误: Vector index beyond memory allocation

c++ - 系统定义的构造函数与 C++ 中的用户定义的构造函数

c++ - 在构造函数中传递指向数组的指针

通过函数更改数组的值

c++ - 交换两个对象的两个属性的值

c - 为什么 C 中的数组会衰减为指针?

C++ 指向对象的类成员的指针

c++ - 当重载为类的成员函数时,取消引用运算符 (*) 是如何工作的?

c++ - float 的二进制表示