- 必須要首先明白的一點:C語言中沒有字符串類型,需要用字符數組來表示字符串
- 以下面的例子來說明:下面的寫法其實是用來表示 字符數組 str 中的10個元素都是數字0
- 第一個問題:char str[10] = {0,}; 這句話的意義是什麼?下面的鏈接說的比較清楚
- 首先上面的那個{0,} 中的 0 爲整型常量。
- 在 C 語言中,字符是按其所對應的 ASCII 碼來存儲的,一個字符一個字節。所以字符常量可以用 %d的形式輸出,也就是看看這個 ASCII 碼對應的 二進制 表示的整數是多少?即這裏也就可以用 整型常量來對 字符 類型進行賦值!而誰的 ASCII 碼對應的是 整型的0呢?是字符'\0',注意這個不是字符'0'。字符'0'對應的整型數值爲48。
- 而字符'\0'是一個不可以顯示的字符,即用%c的形式輸出,是看不到任何東西的,其實另一種說法就是,'\0'這個字符表示的NULL(空字符)
- 看下面的代碼的執行結果,可以知道,{0,}; 表示的是,給str這個字符數組的第一個字符賦值爲NULL,而後面的其他字符都默認爲NULL了。
- 其實下面的兩段代碼中對字符數組的定義其實是一回事。