字元陣列的定義與使用詳細解析

2021-12-30 01:19:55 字數 1308 閱讀 6728

用來存放字元量的陣列稱為字元陣列。

形式數值陣列相同。例如:

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 陣列屬於引用資料型別,也需要進行記憶體分配,與物件儲存的唯一區別在於 物件中的堆記憶體儲存的是屬性,陣列中的堆記憶體儲存的是一組資訊。...