下面的代码当中 pp = (int *)*p 是什么含义?看起来是将指针p 强制转换为(int*)类型并且赋值给PP指针。
插入代码
#include <iostream>
using namespace std;
int main() {
int(*p)[10]; //定义一个数组指针
int mm[10];
int* pp;
p = &mm; //数组mm 的地址放入指针p 当中
pp = (int*)*p;
for (int i = 0; i < 10; i++) {
*pp++ = i;
}
pp = (int*)*p;
for (int i = 0; i < 10; i++) {
cout << *pp++ << "-";
}
return 0;
}
我的理解是上面定义的PP指针类型是“int” ,那么指针p一定要转换为int 类型。然后,这里的赋值,我想问问赋值的内容是p位置的地址还是*p 指针所存储的内容?