指標與字串例項練習

2022-05-16 20:09:38 字數 1516 閱讀 3267

在c語言中,字串是存放在字元陣列中的,字串的引用如下:

char

string ="

i love china!

";//

定義字元陣列string

printf(

"%s\n

",string);//

輸出整個字串

printf(

"%c\n

",string[7]);//

輸出第七個元素

該字串長度是14,最後乙個位元組存放字串結束符'\0'。

例1:通過字元指標變數輸出乙個字串。

1

intmain()

2

定義乙個char*變數,即字元型指標變數string,用字串常量"i love china!"初始化,把字串的第乙個元素的位址賦給指標變數string,使string指向字串的第乙個字元。

%s使輸出字串格式符,系統會輸出string指向的第乙個字元,然後自動使string+1,指向下乙個字元,直到'\0'為止。

例2:將字串a複製為字串b,然後輸出字串b。

1

intmain()

2

例3:用函式呼叫實現字串的複製。

(1).用字元陣列名作為函式引數。

1

intmain()212

void copy(char

from,char to)//

形參為字元陣列

1320 to[i]='\0'

; 21 }

(2).用字元型指標變數作實參。

1

intmain()213

void copy(char

from,char to)//

形參為字元陣列

1421 to[i]='\0'

; 22 }

(3).用字元指標變數作形參和實參。

1

intmain()213

void copy(char *from,char *to)//

形參為字元指標變數

14

上述的三個程式區別實參和形參的不同,都達到了複製字串的目的,仔細觀察三個程式不同的地方,總結字元指標變數和字元陣列的區別如下:

1.字元陣列中存放的是元素,而字元指標存放的是位址。

2.可以對字元指標變數賦值,但不能對陣列名賦值。

char *a;  a="i love china!";//正確的

char string[14];  string="i love china!";//錯誤的

3.初始化含義不同。

char *a="i love china!";//把字串第乙個元素的位址賦給a

char string="i love china!";//把字串賦給陣列中的各個元素

4.指標變數的值是可以改變的,但陣列名代表陣列首元素的位址,是個固定值,不能改變。

字元指標與字串

例項1 include using namespace std int main 執行結果 error 例項2 include using namespace std int main 執行結果 helloworld例項3 include using namespace std int main 執...

字串與指標

字元 0 和 0 的區別字元 0 對應的ascii碼為十六進製制30 而 0 即為ascii碼中的0,其對應字元空字元nul。char c 0 char c 0 nul char c 0 char c 48 最典型如memset函式 void memset void buffer,int ch,si...

字串與指標

printf的第二個引數的型別是由 第乙個引數format決定的。當format為 s時,第二個引數就是乙個位址,printf將位址上的值輸出到stdout。當format為 d時,第二個引數就是乙個int型的變數,printf將變數上值輸出到stdout。1 字串的表示形式 在c語言中,我們可以用...