###C++基本內置類型#函數
C++基本內置類型有算數類型和空類型,其中算數類型包括了整數型和浮點型,字符、整數型、布爾值屬於整數型,浮點數屬於浮點型。空類型不對應具體的值而只對應於一塊內存。code
算數類型:內存
類型 含義 最小尺寸 bool 布爾類型 未定義 char 字符 8位 wchar_t 寬字符 16位 char16_t Unicode字符 16位 char32_t Unicode字符 32位 short 短整形 16位 int 整型 16位 long 長整形 32位 long long 長整形 64位 float 單精度浮點數 6位有效數字 double 雙精度浮點數 10位有效數字 long double 擴展精度浮點數 10位有效數字
其中最小尺寸是指C++標準規定的尺寸的最小值,同時容許編譯器賦予它更大的尺寸。utf-8
除去布爾型和擴展型,其它的整型能夠分爲帶符號和無符號的,其中無符號的在類型名前加unsigned, 字符型分爲char、signed char、unsigned char三種,char會表現爲signed char或者是unsigned char中的一種,由編譯器決定。unicode
###字面值常量#字符串
以0開頭的表示8進制數,以0x開頭的爲十六進制數,例如024,0xb2.編譯器
能夠指定字面值類型,如L'a'表示寬字符型字面值,u8"hhh"表示utf-8字符串字面值。編譯
指定字面值的類型:變量
字符和字符串字面值: 前綴 含義 類型 u unicode16字符 char16_t U unicode32字符 char32_t L 寬字符 wchar_t u8 UTF-8 char 整型字面值: 後綴 最小匹配類型 u or U unsigned l or L long ll or LL long long 浮點型字面值: 後綴 最小匹配類型 f或F float l或L long double
###變量#擴展
變量初始化,能夠用=、()、{}、={}進行初始化,其中花括號的初始化被稱爲列表初始化。
默認初始化,變量沒有指定初值,則執行默認初始化。內置類型的初始化值由它的位置決定,定義於全局的內置類型將賦0,定義於函數體內部的變量將不被初始化,其值是未定義的。建議初始化每一個內置類型的變量。
變量聲明和定義的關係
聲明使得名字爲程序所知,定義負責建立與名字關聯的實體,也就是說定義會申請內存空間並可能爲變量賦予初值。若是想聲明一個變量而非定義它,就在它名字前添加extern關鍵字。
extern int i; //聲明而非定義 int j; //聲明並定義 extern double pi = 3.1415; //定義
給extern關鍵字標記的變量賦初值將抵消extern的做用而定義這個變量。