C C ,字元陣列

2021-09-27 03:49:09 字數 2154 閱讀 7564

這次我們主要討論c中字元陣列的用法,字元陣列在我看來是陣列裡較難得一部分,下面我們來共同研究一下。

字元陣列的定義:一定是 char 型別,後面的是能儲存的字元個數

在定義的同時可以初始化,也可以在使用的時候逐個初始化。

定義時初始化 char str[10]=;

char s1[20]=;

char s1[20]=「how do you do」;

逐個元素賦值 str[0]=『c』;str[1]=h』;str[2]=『n』;str[3]=『i』;str[4]=『a』;

例題

james大學要舉辦校慶,在歷屆校友中尋找名字為james的校友。

要求:用二維的字元陣列儲存所有會員姓名,然後依次查詢姓名中含有james的人,列印全名。

**程式思想:*假設每個人的名字長度都不超過20,這樣我們可以根據james的長度len值是5,然後我們可以對所有人的姓名依次判斷,他名字的前五個元素是不是和james相同,如果相同就說明這個校友的名字是james,否則就不是,可以根據這個思想,寫出程式**。

#include

#include`

#include

int main()

;char james=「james」;

int i,j,len=strlen(「james」);

for (i=0;i字元陣列的輸入和輸出

1.單個字元的輸入輸出

char str[10];

for(i=0;i<5;i++)

scanf("%c",&str[i]);

for(i=4;i>=0;i–)

printf("%c",str[i]);

2.字串整體的輸入輸出

char str[10];

scanf("%s",str) //陣列名str是陣列的起始位址,所以不用&str

3.gets 函式

一般形式為

gets(字元陣列名)

作用是從終端輸入乙個字串到字元陣列

gets(word) 用於鍵盤輸入乙個字串,儲存到word陣列當中,該字串由換行符(\n)以前的所有字元組成,系統也會自動為這個字元加上「|0」結束標

注意:gets中空格也作為輸入字元的一部分,,而在scanf中,空格或者回車用來分隔多個字串

4.puts函式

格式為 puts(字元陣列名);

其作用是將乙個字串輸出到終端,並在輸出時將字串結束標『\0』轉換成「\n『,即輸出完字串後換行

char word=「abc」,word1=「def」

puts(word);

puts(word1);

輸出結果後可發現這兩個字串自動換行

字串處理函式

1.字串連線函式strcat

呼叫形式:

strcat(字元陣列1,字元陣列2):

功能是將字元陣列2連線於字元陣列1的後面

注意:字元陣列1的空間不僅要能夠儲存本身資料,也要能夠儲存字元陣列2中的資料,不然就會發生鏈結錯誤

2.strcpy,字串拷貝函式

呼叫形式:

strcpy(字元陣列1,字元陣列2);功能是將陣列2拷貝到陣列1中

例如: char str[20],str2=「name」;

strcpy(str1,str2);

printf("%s",str1);

執行程式就會發現螢幕上輸出的是 name

str1沒有初始化,但是我初始化的str2通過strcpy函式拷貝到了str1當中

也可表示為: strcpy(str1,「name」);

注意:str1=str2 是錯誤的

3.測試字串長度函式strlen

呼叫形式:strlen(字元陣列);

功能:則是字元陣列中字串的實際長度(所佔據的記憶體位元組數)

例如: char str1[10]=;

printf("%d",strlen[str1]);

執行結果是 7

C C 字串和字元陣列

c語言中沒有專門的字串變數,如果要將乙個字串存放在變數中,必須使用字元陣列,即用乙個字元型陣列來存放乙個字串,陣列中每乙個元素存放乙個字元。1 定義 char c 10 字元型與整型互相通用,因此 int c 10 也可以定義字元陣列。但由於兩種型別分配位元組不同,用整型來定義會浪費空間,另外這樣定...

C C 字元陣列 注意事項

c c 中,字元陣列的輸入有很多種,但是每種情況都是不一樣的,一定要把字元陣列的每種輸入輸出的情況弄清楚,這樣才能在不同的情況下使用不同的方法。1 字元陣列的初始化方法 一 如果要初始化的字串種還有空格,應該把空格也當作乙個字元輸入,注意,字元是使用單引號。char str 15 方法二 直接使用字...

C C 字串常量 字元陣列和字元指標

通常,如果在程式中定義了乙個字串,那麼為了節省記憶體,會把相同的字串儲存到乙個單獨的 相同的位置,此時如果用多個字元指標指向它,那麼指標的值會相同。常量字串位於c c 的文字常量區,在程式結束以後由系統釋放。char p string1 example char p string2 example ...