字符串,字符串數組,字符串指針!!

字符串字符數組實際上是一系列字符的集合,也就是字符串(String)

字符串數組在C語言中,沒有專門的字符串變量,沒有string類型,通常就用一個字符數組來存放一個字符串。C語言規定,可以將字符串直接賦值給字符數組

在C語言中,字符串總是以'\0'作爲串的結束符。上面的兩個字符串,編譯器已經在末尾自動添加了'\0'

'\0'是ASCII碼錶中的第0個字符,用NUL表示,稱爲空字符。該字符既不能顯示,也不是控制字符,輸出該字符不會有任何效果,它在C語言中僅作爲字符串的結束標誌。
puts 和 printf 在輸出字符串時會逐個掃描字符,直到遇見 '\0' 才結束輸出。

注意用字符串給字符數組賦值時由於要添加結束符 '\0',數組的長度要比字符串的長度(字符串長度不包括 '\0')大1。

例如:

char str[] = "C program";
該數組在內存中的實際存放情況爲:

字符串長度爲 9,數組長度爲 10。

字符串指針在C語言中,可以通過字符數組存放一個字符串,也可以用字符指針指向一個字符串。


對指向字符變量的指針變量應賦予該字符變量的地址。如:
char c, *p=&c;
表示p是一個指向字符變量c的指針變量。而:
char *s="C Language";

則表示s是一個指向字符串的指針變量。把字符串的首地址賦予s。

拓展:

字符串複製函數:strcpy(數組2,數組1);

字符串比較函數:strcmp(數組1,數組2);

字符串連接函數:strcat(數組1,數組2);   

字符串轉大寫函數:strupr(數組);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章