|
char *str = "This is a string."; 如果有: 是對字符指針進(jìn)行初始化。此時(shí),字符指針指向的是一個(gè)字符串常量的首地址,即指向字符串的首地址。 這里要注意字符指針與字符數(shù)組之間的區(qū)別。例如,有說明語句: char string[ ]="This is a string."; 此時(shí),string是字符數(shù)組,它存放了一個(gè)字符串。 字符指針str與字符數(shù)組string的區(qū)別是:str是一個(gè)變量,可以改變str使它指向不同的字符串,但不能改變str所指的字符串常量。string是一個(gè)數(shù)組,可以改變數(shù)組中保存的內(nèi)容。 如果有: 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.") /* 改變字符串的的內(nèi)容 */ strcat( string, str) /* 進(jìn)行串連接操作 */ 在程序中,不能進(jìn)行如下操作: string++; /* 不能對數(shù)組名進(jìn)行++運(yùn)算 */ string = "This is a NEW string."; /* 錯(cuò)誤的串操作 */ string = str1; /* 對數(shù)組名不能進(jìn)行賦值 */ strcat(str, "This is a NEW string.") /* 不能在str的后面進(jìn)行串連接 */ strcpy(str, string) /* 不能向str進(jìn)行串復(fù)制 */ 字符指針與字符數(shù)組的區(qū)別在使用中要特別注意。 則在在程序中,可以使用如下語句:str++; /* 指針str加1 */ str = "This is a NEW string."; /* 使指針指向新的字符串常量 */ str = str1; /* 改變指針str的指向 */ strcpy( string, "This is a NEW string.") /* 改變字符串的的內(nèi)容 */ strcat( string, str) /* 進(jìn)行串連接操作 */ 在程序中,不能進(jìn)行如下操作: string++; /* 不能對數(shù)組名進(jìn)行++運(yùn)算 */ string = "This is a NEW string."; /* 錯(cuò)誤的串操作 */ string = str1; /* 對數(shù)組名不能進(jìn)行賦值 */ strcat(str, "This is a NEW string.") /* 不能在str的后面進(jìn)行串連接 */ strcpy(str, string) /* 不能向str進(jìn)行串復(fù)制 */ 字符指針與字符數(shù)組的區(qū)別在使用中要特別注意。 |
|
|