C語言總結 字串

2021-07-02 03:30:51 字數 2029 閱讀 5034

字串是用字元陣列儲存的,並且最後一位必須是\0

,編譯器會把這個字元陣列看做是char*型別的指標。

操作:

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語言字串庫的時候必須包含#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 * strtok (char * str, const char * delimiters);

第一次拆分str必須是要拆分的字串,第二個引數是按照什麼拆分

拆分第二個的時候第乙個引數一般都是null

//按照空格拆分

delimiters = strtok(recvbuf, " ");

delimiters = strtok(null, " ");

strcpy(username, delimiters);//拿到登陸的usernames

delimiters = strtok(null, " ");

strcpy(password, delimiters);//拿到登陸的密碼

將乙個int型別的整數變為字串的方法

//將n變為字串,然後儲存到str裡面

char

str[10];

int n = 10;

sprintf(str, "%d", n);

儲存字串的最佳方式就是乙個二維陣列;

C語言字串總結

c語言中沒有設定字串變數,所以只能用字元陣列來儲存。1,它符合陣列的一切操作 1 字元陣列的定義 即陣列的定義 char c c i c c a c m c c a c c b c o c y 2 字元陣列的初始化 即陣列的初始化 char c 其形式同 int a 是一樣的。3 字元陣列的引用 即...

C語言字串總結

c語言字元陣列的初始化 1 字元陣列的定義與初始化 1 第一種方式 char str 10 即把10個字元分別賦給str 0 到str 9 10個元素 注意 如果花括號中提供的字元個數大於陣列長度,則按語法錯誤處理 若小於陣列長度,則只將這些字元陣列中前面那些元素,其餘的元素自動定為空字元 即 0 ...

C語言字串學習總結

字串 實質就是多個字串行,有多個字元組成 c語言中是沒有string這種型別的,通常在c中是用字元陣列來儲存字串的。字串可以看做乙個特殊的字元陣列,為了和普通的陣列分開,故在字串的尾部加上乙個結束標誌 0 0 是乙個ascii碼值為0的字元,是乙個空的操作符,表示什麼也沒有,所以採用字元陣列存放字串...