字符串字符數組實際上是一系列字符的集合,也就是字符串(String)。
字符串數組在C語言中,沒有專門的字符串變量,沒有string類型,通常就用一個字符數組來存放一個字符串。C語言規定,可以將字符串直接賦值給字符數組
在C語言中,字符串總是以'\0'
作爲串的結束符。上面的兩個字符串,編譯器已經在末尾自動添加了'\0'
。
puts 和 printf 在輸出字符串時會逐個掃描字符,直到遇見 '\0' 才結束輸出。'\0'
是ASCII碼錶中的第0個字符,用NUL
表示,稱爲空字符。該字符既不能顯示,也不是控制字符,輸出該字符不會有任何效果,它在C語言中僅作爲字符串的結束標誌。
注意:用字符串給字符數組賦值時由於要添加結束符
'\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(數組);