11種數(shù)據(jù)類型
- 整型類:int,short(短整型),long(長整型),unsigned(無符號(hào)),char(字符整型)
- 浮點(diǎn)類:float(單精度),double(雙精度)
- C90新增:signed(有符號(hào)),void(空)
- C99新增:_Bool(布爾指),_Complex(復(fù)數(shù)),_Imaginary(虛數(shù))
存儲(chǔ)單元
- 位:最小的存儲(chǔ)單元,存儲(chǔ)0或1
- 字節(jié):常用存儲(chǔ)單位,幾乎所有機(jī)器有1字節(jié)等于8位,即1字節(jié)可以表示0-255之間的整數(shù)
- 字:自然存儲(chǔ)單位:8位的微型計(jì)算機(jī)一字為8位,16,32位的為即一字為16位或32位
基本整型類型
- int型:儲(chǔ)存要占1個(gè)機(jī)器字長,16位機(jī)器,范圍-32768 ~ 32767目前大多數(shù)機(jī)器32位,即占4個(gè)字節(jié),存儲(chǔ)數(shù)字范圍為:-2147483648 ~ 2147483647
- short型:存儲(chǔ)小于等于int,-32768 ~ 32767
- long型:儲(chǔ)存大于等于int,-2147483648 ~ 2147483647
- long long型:存儲(chǔ)至少64位,即8個(gè)字節(jié)
- unsigned型:無符號(hào),只能存儲(chǔ)正整數(shù),能存儲(chǔ)比signed更大的整數(shù)
- 目前普遍設(shè)置:long long 64位8字節(jié),long 32位4字節(jié),short 16位2字節(jié),int 16/32位 2/4字節(jié)
- 常量:超出int范圍,視為long,超出long范圍,視為unsigned long,繼續(xù)long long, unsigned long long
- 用H/h作為short,用L/l作為long, 用LL/ll作為long long,用U/u作為unsigned,例如343H,3234L,35455LL,435345U,534546467ULL
- char型:一個(gè)字節(jié),-128 ~ 127,ASCII編碼0~127,存儲(chǔ)綽綽有余,C語言將字符常量視為int型非char型,是否有符號(hào)看編譯器
- 整型可以表示10,8,16進(jìn)制,如32,032,0x32/0X32
基本浮點(diǎn)類型
- float:至少6位有效數(shù)字,取值至少10的-37到+37次方。通常浮點(diǎn)占32位,8位指數(shù)的值和符號(hào),剩下的24位非指數(shù)的值和符號(hào)。
浮點(diǎn)最大:999999961690316250000000000000000000.000000
超過:1.#INF00 - double,至少13位有效數(shù)字。通常64位,剩下的32位給非指數(shù)部分。
- long double 更高的精確要求,至少比double精確
復(fù)數(shù)和虛數(shù)類型
- 復(fù)數(shù):float_Complex,double_Complex,long double_Complex
- 虛數(shù):float_Imaginary,double_Imaginary,long double_Imaginary
類型大小
sizeof()函數(shù)
sizeof(int),sizeof(char)等等……