字元陣列的定義與初始化
一. 字元陣列(本週小結)
學習目標.1掌握字元陣列輸入輸出方法
2.應用字元陣列解決一些實際問題
定義
用來存放字元資料的陣列稱為字元陣列。字元陣列中的一個元素存放一個字元。定義字元陣列的方法與定義數值型陣列的方法類似。
其定義的一般形式是:char 陣列名[資料長度]
例如:
char c[10];
c[0]='I'; c[1]=' '; c[2]='l'; c[3]='o'; c[4]='v'; c[5]='e'; c[6]=' '; c[7]='y'; c[8]='o'; c[9]='u';
以上定義了c為字元陣列,包含10個元素。
由於字元型資料是以整數形式(ASCII程式碼)存放的,因此也可以用整型陣列來存放字元資料,例如:
int c[10];
但這時每個陣列元素佔2個位元組的記憶體單元,浪費儲存空間。
字元陣列也可以是二維或多維陣列,例如:
char c[5][10];
即為二維字元陣列。
結束標誌
字串和字串結束標誌
在C語言中,是將字串作為字元陣列來處理的。為了測定字串的實際長度,C語言規定了一個“字串結束標誌”,以字元'\0'作為結束標誌
瞭解了關於字元陣列的相關知識後,接下來然我們看看如何給字元陣列賦值
舉例如下:
char a[10];
1、定義的時候直接用字串賦值
char a[10]="hello";
注意:不能先定義再給它賦值,如
char a[10];
a[10]="hello";
這樣是錯誤的!
2、對陣列中字元逐個賦值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10];
strcpy(a, "hello");![]![]![]
當然,如果是C++的話,還可以直接輸入
cin>>letter[0],……
gets(letter),
用scanf讀入整個陣列:scanf(“%s”,letter)
輸出方法同上,值得注意的是,在用scanf的%s格式或gets讀入字串時,會在字串末尾自動新增一個空字元‘0\’.而使用getchar等方法輸入字串時,則要在字串後面手工加’0\’.
接下來用簡單的Hello World來對比一下幾種不同的
輸入方法:
將程式改為用getchar ,putchar 輸出:
好了,這些就是本人這周全部分享內容了,紙上得來終覺淺,覺知此事要躬行,具體還要在實際操作中多多總結經驗,多實踐。