在很多時候,對於指標變數可用陣列方式操作,對於陣列可用指標變數方式操作,可是指標變數和陣列畢竟不是同乙個東西,下面我們來歸納幾點陣列名和指標名的區別:
以下的講解基於如下這段**:
char a=;
int *p = a;
1、指標變數名可以被賦值,陣列名不可以被賦值。也就是說:p=p+1;是正確的,a = a+1;是錯誤的。
2、sizeof(p)的值為4,sizeof(a)的值為12。
求指標變數的長度詳見
求陣列的長度詳見 節。
3、對於定義的乙個指標變數:char *p; 宣告時寫成 extern char p[n];(n=1,2,3...)的形式是不可以的;
同樣,如果對於陣列形式的定義:char a=; 宣告時寫成 extern char *a;也是不可以的; 詳見
陣列指標與指標陣列的區別
一 陣列指標 也稱行指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,...
陣列指標與指標陣列的區別
一 陣列指標 也稱行指標 定義int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,指...
陣列指標與指標陣列的區別
陣列指標 也稱行指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣賦值 int a 3 4 int p 4 該語句是定義乙個陣列指標,指向...