C語言中char字符爲0時的情況

  1. 必須要首先明白的一點:C語言中沒有字符串類型,需要用字符數組來表示字符串
  1. 以下面的例子來說明:下面的寫法其實是用來表示 字符數組 str 中的10個元素都是數字0

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


編譯鏈接並執行後得到:



  1. 其實下面的兩段代碼中對字符數組的定義其實是一回事。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章