一.字符串(單個字符)的定義數組
1.單個字符的定義函數
char i = ‘x’ (單個字符的定義)
字符串建立後爲常量沒法修改spa
2.一維字符串數組的定義指針
char i []=」xxxx」;(此方式定義的一維字符串數組必須馬上賦值) char i [4];(此方式至關於在存儲器裏面創建一個能夠存儲3個字符的數組空間) char i [4]=」xxxx」; char i [4]={‘x’’x’’x’’x’};
其中定義的數組的元素數要比實際賦值的數量多一,用於存放\0位置code
字符數組只有在定義時才能將整個字符串一次性地賦值給它,一旦定義完了,就只能一個字符一個字符地賦值了。blog
3.二維字符串數組的定義rem
char i[][80] = { "xxxxxxx", "xxxxxxx", };
第一個方括號表明數組的行數,第二個方括號表明數組的列數,同時定義字符的個數(要比實際應用多一,用於存放\0位置)。字符串
二.字符串(單個字符)和一維字符數組輸入string
1.scanf函數it
給字符串(單個字符)賦值
scanf(「%2s」, &x);(其中x爲定義的char類型變量的名字)
給字符數組賦值
scanf(「%2s」, x);(其中x爲定義的字符數組名字)
三. 字符串(單個字符)和一維字符數組的輸出
1.單個字符的輸出
printf (「%c」, x);對單個字符進行輸出
X爲char類型變量的名字
2.字符數組的輸出
printf(「%s」, x);對字符串進行輸出
X爲字符數組名
四.字符串的處理
1.string.h頭文件的使用
定義方法:#include <string.h>
經常使用的幾個函數及功能:
strchr() 查找字符
stremp() 比較字符串
strstr() 在字符串中查找字符串 ,使用方法:strstr("被查找字符串", "須要查找的字符串");
strcpy() 複製字符串
strlen() 返回字符串的長度
strcat() 鏈接字符串
strdup() 複製字符串到堆上
strcmp() 用於比較兩個字符串並根據比較結果返回整數。基本形式爲strcmp(str1,str2),若str1=str2,則返回零;若str1<str2,則返回負數;若str1>str2,則返回正數
atoi 函數(在<stdlib.h>庫文件中),
五.字符數組與指針之間一些注意事項
1.指針退化問題
char s[] ="xxxx"; char * t = s;
字符數組變量賦值給指針時,指針變量只會包含數組的地址信息,而丟失了數組的長度信息,這個信息的丟失稱爲指針退化。
char * a = "xxxx"
雙引號作了3件事: 1.申請了空間(在常量區),存放了字符串 2. 在字符串尾加上了'/0' 3.返回地址