C語言中空格,空字符,字符數組結束符的區別


     空格符號和空字符是不一樣的,在ASCII裏面,空格(space)符號的ASCII碼是0x20,而空字符是0x0, 2個是完全不一樣的2個字符呵呵.

空字符  一般來描述一個字符串的結尾,其實是控制符的一種,但不能理解爲沒有字符,應該理解爲代表什麼都沒有的字符.好比回車0x0A和換行0x0D雖然不顯示,但是也是控制字符的一種.(這些字符以前是用於打印機的,所以很多都沒有用了)

字符串的概念:在C語言中,字符串是指由若干個有效字符(其中包括字母、數字、轉義字符、等)組成的系列,以'\0'作爲字符串結束標誌。'\0'是一個“空操作”字符,它不做任何操作,只是一個標誌。'\0'的代碼值爲0,它不計入串的長度。


     還有這裏需要注意下在接受字符串的時候,如果用scanf來接收的話,字符串中不能含有空格,否則將以空格作爲串的結束符。如果你鍵入得是harry potter 那麼實際上scanf只能獲取harry這個單詞。所以要接收空格的話可以用gets()這個函數


 補充:C語言中字符串結束符'\0'就是0.

》》'\0'就是8位的00000000,因爲字符類型中並沒有對應的這個字符,所以這麼寫。在數值類型裏就代表數字0。 補充:這個你要去學下基礎的,數值類型存儲時,最高位決定正負號,其他位都爲0可不就是0了麼? '\0'是轉譯字符,意思是告訴程序,這不是字符0,我要的是數字0的2進制直接放進來,因爲acsii碼的0可不是00000000

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