#include <iostream>
using namespace std;
int main()
{
int x[][3]={1,2,3,4,5};
cout<<&x <<" "<<*x <<" "<<x <<endl;
cout<<&x[0]<<" "<<*x[0]<<" "<<x[0]<<endl;
cout<<&x[0][0]<<endl;
return 0;
}
结果是:关于指针短C++程序
0x28fef8 0x28fef8 0x28fef8
0x28fef8 1 0x28fef8
0x28fef8
为什么x[0][0]
和x是在同一指针?什么是0x28fef8真的? 1或0x28fef8?
@molbdnilo我不会说'* x [0]'衰减,我说'x [0]'(注意缺乏解引用操作符)会衰减。 –
哦,*现在*我明白你的观点...(今天有点厚)。我从不认为'* array'是“衰减指针,然后解引用”,而是“完全等同于'array [0]',但使用不同的语法”。 – molbdnilo
非常感谢。我想我明白了。但是地址0x28fef8究竟是什么? 1或0x28fef8,您会看到&x = x = 0x28fef8 =&x [0] [0]。 – Ken