注意:数组名和整个数组的地址是完全一样的,知识表示的含义不一样,并且如下,前者打印为2,+1表示加一个int型的大小,后者+1是加一个数组的大小:3*sizeof(int)
int arr[] = {1, 2, 3};
cout << *(arr + 1) << endl;
cout << *(&arr + 1)<< endl;
普通指向数组的int型指针:
int arr[] = {1, 2, 3};
int* p = arr; // 将指针 p 指向数组的第一个元素
cout<< p <<" "<< *p << " " << p[2] << " " << " "<< endl;
p[1] = 5;
p:数组首地址,*p:第一个元素,p[2]:第三个元素, 不能 ( *p )[1],因为解引用就为int型了,是普通指针指向整型数据,好理解,比较类似于new出来的