空字元是基本字符集中的乙個(成員)字元,長度被定義為乙個位元組,他的所有位(位元)都是0.空字元用脫轉序列 \0 表示。
空字元放在字串的尾部,作為這個串的終止標記。作為乙個例項,下面的**用於統計字串的長度,但不包括尾部 的空字元:
int s_len (
const
char
*s)
「空白字元(white-space character )」是以下字元的統稱:
(1)空格,對應的字元常量為』 '。
(2)水平製表符,對應的字元常量為 』 \t 』 。
(3)垂直製表符,對應的字元常量為 』 \v 『。
(4)換(新)行符,對應的字元常量為 』 \n 』 。
(5)換頁符,對應的字元常量為』 \f '。
」空白「用來分隔原始檔中的預處理記號,他可以是上述的任何空白字元,也可以是注釋,因為每個注釋在預處理階段都被替換為乙個空白字元。
空寬字元(null wide character)是編碼值為0的寬字元。如果寬字元是用wchar_t 型別來表示的,則空寬字元的長度取決於c實現,其值為l』\0』;如果寬字元是用char16_t型別來表示的,則空寬字元是寬度為16位的整數0,即u』\0』;如果寬字元是用char32_t型別來表示的,則空寬字元是寬度的32位的整數0,即u』\0』。
下面的示例程式定義了三種不同型別的空寬字元,通過程式的輸出,可以知道不同型別的空寬字元是如何編碼的(建議:在轉換該程式時僅根據實際情況指定源字符集,不能指定執行字符集和寬字符集而使用預設設定):
#include
#include
#include
void prn_code (
const
unsigned
char
*p,size_t n)
int main (
void);
prn_code (
(unsigned
char
*) a,
sizeof a);
char16_t b =
; prn_code (
(unsigned
char
*)b,
sizeof b);
char32_t c =
; prn_code (
(unsigned
char
*) c,
sizeof c)
;return0;
}
抄書(標準C語言指南)
c有完善的資料和控制流處理機制,但並不提供任何輸入 輸出手段。因此,為了實現這樣的目的,往往需要借助於機器語言 組合語言,或者呼叫為特定裝置而編寫的庫函式。如果程式是在宿主式環境下執行的,那麼,呼叫作業系統提供的例程 函式 往往是最方便的選擇,有時也是唯一的選擇。為了更好的演示如果呼叫作業系統的功能...
抄書(標準C語言指南)
位元組的概念是明確,但它的長度缺乏標準定義,具體的說明參加 位元組 儘管在很多流行的系統中,乙個位元組的長度被視為8個位元,但是,這個並不是說乙個位元組就是8個位元。不管是在基本源字符集,還是在基本執行字符集裡,從字元 0 開始,一直到 9 他們的編碼值是依次遞增的,這就是說,下面的 他的功能是列印...
抄書(標準C語言指南)
基本型別 basic types 包括無符號整型型別 有符合整數型別 浮點型別和char 型別 具體可參加各自的詞條。基本型別都是完整的物件型別,他們都具有已知的大小。對於每乙個有符號整數型別而言,他們都對應著乙個無符號整數型別。例如signed char 是有符號整數型別,他有乙個對應的無符號整數...