字元陣列與字元指標

2021-04-15 11:40:02 字數 1125 閱讀 1750

10.4 指標與字串

10.4.1 字元陣列與字元指標

在第八章中我們已經詳細討論了字元陣列與字串,字元指標也可以指向乙個字串。

我們可以用字串常量對字元指標進行初始化。例如,有說明語句:

char *str = "this is a string.";

是對字元指標進行初始化。此時,字元指標指向的是乙個字串常量的首位址,即指向字串的首位址。

這裡要注意字元指標與字元陣列之間的區別。例如,有說明語句:

char string[ ]="this is a string.";

此時,string是字元陣列,它存放了乙個字串。

字元指標str與字元陣列string的區別是:str是乙個變數,可以改變str使它指向不同的字串,但不能改變str所指的字串常量。string是乙個陣列,可以改變陣列中儲存的內容。

如果有:

char *str, *str1="this is another string.";

char string[100]="this is a string.";

則在在程式中,可以使用如下語句:

str++; /* 指標str加1 */

str = "this is a new string."; /* 使指標指向新的字串常量 */

str = str1; /* 改變指標str的指向 */

strcpy( string, "this is a new string.") /* 改變字串的的內容 */

strcat( string, str) /* 進行串連線操作 */

在程式中,不能進行如下操作:

string++; /* 不能對陣列名進行++運算 */

string = "this is a new string."; /* 錯誤的串操作 */

string = str1; /* 對陣列名不能進行賦值 */

strcat(str, "this is a new string.") /* 不能在str的後面進行串連線 */

strcpy(str, string) /* 不能向str進行串複製 */

字元指標與字元陣列的區別在使用中要特別注意。

字元指標與字元陣列

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

字元陣列與字元指標

節選了一些有價值和易錯的部分。char str this is a string.char string this is a string.字元指標str與字元陣列string的區別是 str是乙個變數,可以改變str使它指向不同的字串 但不能改變str所指的字串常量 string是乙個陣列,可以改...

字元陣列與字元指標

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