C語言學習之字元陣列簡析

2021-06-26 13:57:19 字數 1141 閱讀 8150

乙個2維字元陣列
char a[2][3]
char     //表示陣列型別
a[2][3]

表示相當於有2個字元陣列,每個字元陣列的長度是3.
a[0] 表示第一維的字元陣列,長度不能超過3(算上字串結束符'\n');
a[1] 表示第二維的字元陣列,同上。字元陣列就是通常意義上的字串。
注意:字串如果不是用char *(指標字串),那就不可以直接賦值!只可以初始化。

字串賦值用strcpy函式,此函式在標頭檔案string.h裡包含。

如果宣告的a是a[2][3]也就是二位字元陣列,那可以這樣賦值:

strcpy (a[0], "24");
strcpy(a[1], "db");

注:平時使用的strcpy函式並沒不帶有緩衝buf,易出現溢位等問題。建議編寫比較重要的**時使用strncpy。

特別注意幾點:

首先:這是二維字元陣列,所以a[0]和a[1]才有意義,a[2]什麼的都不存在。

其次:第一維第二維都只能存3個字元,如果想把abc存進去:

strcpy(a[0], "abc");
這樣是有問題的。因為字元陣列的末尾都應該有乙個**的'\0'字串結束符,所以3個長度只能存2個有效長度的字元。
而char *a[200],很類似於char a[200];前面的維數不確定,但後面每一維度允許存放的字元長度已定為200。

C語言學習之陣列

一維陣列的定義方式 資料型別 陣列名 整型常量表示式 注意 方括號中只能是常量表示式,不能使用變數。常量表示式的值表示陣列最多能存放的元素的個數,也稱為陣列的大小 陣列所佔總位元組數 sizeof 資料型別 陣列大小 int k 5 float c k 不合法,k是變數 define m 20 in...

c語言學習之陣列指標

首先,指標,就相當於乙個位址,指標變數就是拿來存放指標所指向另一變數的位址 定義乙個指標變數需要說明 指標型別,指標變數名。例 int p,a p a 而 陣列,包括陣列型別和陣列名還有陣列長度 陣列長度只能是常量 陣列有一維陣列和多維陣列。例 int a 10 內的必須是常量。那 究竟什麼是陣列指...

c語言學習 陣列

我們在程式設計時往往需要儲存很多數,這個時候我們就需要陣列這個工具了 1.陣列的宣告 型別 變數名稱 元素數量 double weight 20 元素數量必須是整數 定義 是一種容器 放東西的東西 特點是 1.其中所有的元素具有相同的資料型別 2.一旦建立,不能改變大小 3.陣列中的元素在記憶體中是...