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

2021-10-12 09:41:21 字數 699 閱讀 6234

這裡介紹字元陣列與字元指標的區別

下面通過乙個例子進行介紹

char message1 = "hello";

char *message2 = "hello";

上面兩個 message 的變數看起來好像是一樣的,但實際他們的意義是不一樣的,前者代表的是字元陣列的初始化,後者則是乙個字元指標指向乙個字串常量

為了驗證上面的說法,下面我們執行一些對這兩個變數的操作

message1++; // err,陣列名的位址是不能修改的

message2++; // 指標的位址可以進行修改

message1[0] = 'h'; // 字元陣列可以修改陣列元素

*(message2+1) = 'h'; // err,可能過編譯,執行會段錯誤

上面分別對 message 的兩個變數的位址和值進行了修改,通過結果可以進行二者的區分

測試程式如下:

#include char message1 = "hello";

char *message2 = "hello";

void main()

指標與陣列 字元指標,字串和字元陣列的區別

指標和陣列是不相等的,把乙個陣列名作為乙個引數傳遞給函式時陣列名就是指向第乙個元素的指標,在大多數表示式中 陣列名的值是指向第乙個元素的指標 有兩個例外,乙個是sizeof返回的是整個陣列 的位元組數,乙個是 操作符返回 的是乙個指向陣列的指標 但不代表 兩者等價。int a 3 int b 宣告乙...

字元陣列與字元指標

10.4 指標與字串 10.4.1 字元陣列與字元指標 在第八章中我們已經詳細討論了字元陣列與字串,字元指標也可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首...

字元指標與字元陣列

1.字元指標可以指向乙個字串。我們可以用字串常量對字元指標進行初始化。例如,有說明語句 char str this is a string.是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首位址,即指向字串的首位址。這裡要注意字元指標與字元陣列之間的區別。例如,有說明語句 char st...