1. 程式人生 > >C語言(關於字元陣列)

C語言(關於字元陣列)

  • 當單個字元賦值時,系統不會自動加\0,整體賦值時系統自動賦\0但不記入字串長度。

    如:

char ch1[]={'h','e','l','l','o'};
char ch2[]={"hello"};
    其中ch1所佔長度為5個位元組,ch2佔6個位元組。原因是結尾是否有\0。兩個字串長度均為5。
  • 字元陣列的輸出:逐個字元輸出:%c,整個字串一次輸出:%s 用%s輸出時,輸出項是字元陣列名,不是陣列元素名。 如果字元陣列內包含一個以上\0,則遇到第一個就停止輸出。

  • 字元陣列的輸入:如果只寫陣列名,則陣列名前面不用加&。對於scanf輸入字元或字串時,要在後面加上最大長度的引數。


strlen函式和sizeof求字元陣列的長度和所佔位元組

  1. strlen:格式為 strlen(字元陣列名)
  2. sizeof:格式為 sizeof(字元陣列名)

    strlen用來計算字元陣列中字串的長度,sizeof當前是用來計算這個字元陣列共佔了多大的空間。
    eg:
    這裡寫圖片描述