指標與陣列的區別

2021-06-23 08:26:47 字數 581 閱讀 6124

一、儲存位置

1.指標:動態分配時存放在 堆上,非動態分配的時候初始化的時候分配到文字常量區。

2.陣列:分配到全域性靜態區或棧上

二、修改內容時

1.指標:不可修改常量字串中的字元,只能修改動態分配的字串中的字元。

char* p="abcd";

p[2]='k'; //error,編譯時可能檢查不出來,但是執行時會出錯。

char* p=new char[5];

p[2]='k'; //correct

2.陣列:其內容可修改。

三、複製與比較

char* p2="abc";

char* p1=new char[4];

strcpy(p1,p2);

p2="abcd";

cout<

2.陣列:也不能使用p1=p2來複製,也要使用strcpy,strcmp來複製比較。

char* p2="abc";

char p1[4];

strcpy(p1,p2);

p2="abcd";

cout<

陣列指標與指標陣列的區別

一 陣列指標 也稱行指標 定義 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 該語句是定義乙個陣列指標,指向...