- 相關(guān)推薦
C語言入門知識之字符串與指針
導語:字符串或串(String)是由數(shù)字、字母、下劃線組成的一串字符。它是編程語言中表示文本的數(shù)據(jù)類型。下面是其相關(guān)知識,歡迎閱讀:
1、 字符串的表示形式
在C語言中,我們可以用兩種方式訪問字符串
(1) 用字符數(shù)組存放一個字符串,然后輸出該字符串。
main(){
char string[]="I love China!";
printf("%s ", string);
(2) 用字符指針指向一個字符串?梢圆欢x字符數(shù)組,而定義一個字符指針。用字符指針指向字符串中的字符。
main(){
char *string="I love China!";
printf("%s ", string);
在這里,我們沒有定義字符數(shù)組,而是在程序中定義了一個字符指針變量string,用字符串常量"I love China!",對它進行初始化。C語言對字符串常量是按字符數(shù)組處理的,在內(nèi)存中開辟了一個字符數(shù)組用來才存放該字符串常量。對字符指針變量初始化,實際上是把字符串第1個元素的地址(即存放字符串的字符數(shù)組的首元素地址)賦給string。有人認為string是一個字符串變量,以為在定義時把"I love China!"這幾個字符賦給該字符串變量,這是不對的!!
實際上,char *string="I love China!";等價于:
Char *string;
String = “I love China!”;
可以看到,string被定義為一個指針變量,指向字符型數(shù)據(jù),請注意它只是指向了一個字符變量或其他字符類型數(shù)據(jù),不能同時指向多個字符數(shù)據(jù),更不是把“I love China!”這些字符存放到string中(指針變量只能存放地址),也不是把字符串賦給*string。只是把“I love China!”的第一個字符的地址賦給指針變量string。
在輸出時,要用:printf(“%s ”, string);,其中“%s”是輸出字符串時所用的格式符,在輸出項中給出字符指針變量名,則系統(tǒng)先輸出它所指向的一個字符數(shù)據(jù),然后自動是string加1,使之指向下一個字符,然后再輸出一個字符……如此知道遇到字符串結(jié)束標志“