#include <iostream>
int main()
{
using namespace std;
int p[4] = { 1,2,3,4 };
cout << p << endl; //011EFA1C
cout << &p[0] << endl; //011EFA1C
cout << p+1 << endl; //011EFA20
cout << &p[1] << endl; //011EFA20
cout << *(p+1) << endl; //2
cout << p[0] << endl; //1
cout << *p << endl; //1
cout << *p+1 << endl; //2
cout << &p << endl; //011EFA1C 整个数组的地址,但和第一个元素首地址相同
cout << &p[4] << endl; //011EFA2C 进一步验证上面
cout << &p+1 << endl; //011EFA2C 再进一步验证上面
cout << *&p << endl; //011EFA1C 和第一个元素地址相等
cout << *&p+1 << endl; //011EFA20 和第二个元素地址相等
//cout << **&P << endl;
cout << endl << "*******************二维数组******************" << endl;
const char *c[5] = {
"1",
"11",
"111",
"1111",
"11111"
};
cout << c << endl; //011EFA00
cout << &c << endl; //011EFA00
cout << &c[0] << endl; //011EFA00
cout << c+1 << endl; //011EFA04
cout << c[0]+1 << endl; // 无结果
cout << &c[1] << endl; //011EFA04
cout << *c << endl; //1
cout << *c+1 << endl; // 无结果
cout << *c[0] << endl; //1
cout << *(c+1) << endl; //11
return 0;
}