用來存放字元量的陣列稱為字元陣列。
形式數值陣列相同。例如:
char c[10];
由於字元型和整型通用,也可以定義為int c[10],但這時每個陣列元素佔2個位元組的記憶體單元。
字元陣列也可以是二維或多維陣列。例如:
char c[5][10];
即為二維字元陣列。
第一種方法是分別對每乙個元素進行賦值操作:
字元陣列也允許在定義時作初始化賦值。例如:
char c[10]=;
賦值後各元素的值為:
c[0]的值為『c』
c[1]的值為『』
c[2]的值為『p』
c[3]的值為『r』
c[4]的值為『0』
c[5]的值為『g』
c[6]的值為『r』
c[7]的值為『a』
c[8]的值為『m』
其中c[9]未賦值,這是由系統自動賦予0值。當對全體元素賦初值時也可以省去長度說明。例如:
char c=;
這時c陣列的長度自動定為9。
另外,第二種方法, c語言允許用字串的方式對陣列作初始化賦值。例如:
char c=;
可寫為:
char c=;
或去掉{}寫為:
char c="c program";
字元陣列和普通陣列一樣,也是通過下標引用。
在採用字串方式後,字元陣列的輸入輸出將變得簡單方便。除了上述用字串賦初值的辦法外,還可用printf函式和scanf函式一次性輸出輸入乙個字元陣列中的字串,而不必使用迴圈語句逐個地輸入輸出每個字元。
例1:#include
intmain(void)
注意在本例的printf函式中,使用的格式字串為「%s」,表示輸出的是乙個字串。而在輸出表列中給出陣列名則可。不能寫為:printf("%s",c);
例2:#include
int main(void);
可寫為:
char c=;
或去掉{}寫為:
char c="c program";
用字串方式賦值比用字元逐個賦值要多佔乙個位元組,用於存放字串結束標誌'\0'。上面的陣列c在記憶體中的實際存放情況為:
『\0'是由c編譯系統自動加上的。由於採用了『\0'標誌,所以在用字串賦初值時一般無須指定陣列的長度, 而由系統自行處理。
變數定義與宣告的區別詳細解析
我們在程式設計中,時時刻刻都用到變數的定義和變數的宣告,可有些時候我們對這個概念不是很清楚,知道它是怎麼用,但卻不知是怎麼一會事,下面我就簡單的把他們的區別介紹如下 變數的宣告有兩種情況 1 一種是需要建立儲存空間的 定義 宣告 例如 int a在宣告的時候就已經建立了儲存空間。2 另一種是不需要建...
共用體的定義與應用詳細解析
定義 使用覆蓋技術,幾個變數相互覆蓋,從而使幾個不同變數共占同一段記憶體的結構,成為共同體型別的結構。www.cppcns.com 共同體的定義類似結構體,不過共同體的所有成員都在同一段記憶體中存放,起始位址一樣,並且同一時刻只能使用其中的乙個成員變數。宣告共用體的一般形式為 複製 如下 union...
陣列的定義與使用
宣告陣列 資料型別 陣列名稱 null 或者 資料型別 陣列名稱 null 開闢陣列 陣列名稱 new 資料型別 陣列長度 int data new int 100 陣列屬於引用資料型別,也需要進行記憶體分配,與物件儲存的唯一區別在於 物件中的堆記憶體儲存的是屬性,陣列中的堆記憶體儲存的是一組資訊。...