下面的代碼當中 pp = (int *)*p 是什么含義?看起來是將指針p 強制轉(zhuǎn)換為(int*)類型并且賦值給PP指針。
插入代碼
#include <iostream>
using namespace std;
int main() {
int(*p)[10]; //定義一個數(shù)組指針
int mm[10];
int* pp;
p = &mm; //數(shù)組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一定要轉(zhuǎn)換為int 類型。然后,這里的賦值,我想問問賦值的內(nèi)容是p位置的地址還是*p 指針所存儲的內(nèi)容?