#include <iostream>
using namespace std;
int main()
{
int foo[5] = {0,1,2,3,4};
cout << (&foo[0]) << " " << foo <<endl;
return 0;
}
输出结果为0x28feec 0x28feec。 &foo[0]、foo 和 &foo 之间有什么区别? 如果foo是指向foo[0]地址的指针,这样使用是不是很好?
感谢您的回答。
最佳答案
foo
(不访问数组元素)在发送到输出流时将衰减到第一个数组元素 (foo[0]
) 的地址。
foo[0]
将返回第一个数组元素,&foo[0]
将衰减到它的地址。因此,这两个输出值是相同的。
关于数组名称的 C++ 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23300737/