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...