剛學到數組和指針一章(未涉及字元串) 對於一維數組來說: int i, a[10]; 可以直接用*( a+i)來訪問數據,與a[i]相同。 對於多維數據: int i ,*p,a[2][3][4]; 無法用a+i來直接訪問數據,*(a+i)==**(a+i)==&a[i][0][0] ==&a[i] ...
剛學到數組和指針一章(未涉及字元串)
對於一維數組來說:
int i, a[10];
可以直接用*( a+i)來訪問數據,與a[i]相同。
---------------------------------------------
對於多維數據:
int i ,*p,a[2][3][4];
無法用a+i來直接訪問數據,*(a+i)==**(a+i)==&a[i][0][0] ==&a[i]==&a[i][0];//只要星的數量少於維數,那麼全部是a[i]的首地址;
*a==**a==a,都是數組的首地址,只有***a才會指向值;//(與上一條道理相同)
但是如果把a的地址賦予另一個指針p ,p=(int*)a,就可以直接用*(p+i)來訪問,和訪問一維數組一樣。//i 取值為0~2*3*4-1
------------------------------------------------------------------------------------------------------------------
以上在C++ FREE測試。