#include <iostream>
using namespace std;
int main()
{
int* array[10];
int i = 1;
int size = sizeof(int);
cout << "array[" << i << "]的指针=" << &array[1] << endl;
cout << "array+"<<i*size<<"的指针=" << (&array) + i*size<< endl;
cout << "array的指针=" << &array << endl;
cout << "array[0]的指针=" << &array[0] << endl;
}
我们的目的是观察以下指针的值:
1,array[1]的指针
2,array+4的指针
3,array的指针
4,array[0]的指针
结果:
结论:
1,array的指针 = array[0]的指针。
2,array[1]的指针在16进制意义上等于array[0]+4hex。
3,但我们在C++中使用array[0]+4*sizeof(int),结果并不等于array[1]。
所以我们在C++中并不能通过在首地址上加4得到后续的指针。