標籤:c語言 字元 char
字串的儲存
字串是用字元數組儲存的,並且最後一位必須是\0
,編譯器會把這個字元數組看做是char*類型的指標。
例如:printf("abc") //傳遞的時abc的地址,並且是a的地址
操作:
char *p;p = "abc";
char ch;ch = "abc"[1];
字串變數
char str[8] = "abcdefg";//會把這幾個字元複製到這個字元數組中;
他的儲存方式為:
如果字串不夠7個就會把剩餘的單元填\0
如果超出7個就不會把這個數組看成字串了,字串後面必須要有\0;
char str[] = "abcdeg";//編譯器會自動計算長度,str是首字元的地址char *str = "abcdef";//str是一個指標指向abcdef首字元的地址,並且str一定要指向一個存在的字串
字串的讀寫
printf("string is %s", str);//puts(str);scanf("%s", str); //首先會跳過空白字元,然後讀取,再次遇見空白字元停止讀取gets(str);//遇見分行符號才會停止
C語言字串庫
使用C語言字串庫的時候必須包含#include
char str[10];str = "abc";//錯誤,不能使用=號運算子把字串複製到字元數組中
字串複製函數 strcpy函數
char str1[] = "hello world!";char str2[10];strcpy(str2, str1);
字串拼接函數 strcat函數
strcat(str1, "abc");//這裡的str1要有足夠控制項容下abc
字串比較函數strcmp函數
strcmp(str1, str2);//相等返回0,str1>str2就返回大於0的數
求字串長度的函數strlen函數
int len = strlen(str1);
儲存字串的最佳方式
儲存字串的最佳方式就是一個二維數組;
char string[][3] = {"hello", "nihao"};char *string[] = {"hello","world","I","love","you"};
【C語言總結】字串