C語言數據類型及其存儲

11種數據類型

  • 整型類:int,short(短整型),long(長整型),unsigned(無符號),char(字符整型)
  • 浮點類:float(單精度),double(雙精度)
  • C90新增:signed(有符號),void(空)
  • C99新增:_Bool(布爾指),_Complex(復數),_Imaginary(虛數)

存儲單元

  • 位:最小的存儲單元,存儲0或1
  • 字節:常用存儲單位,幾乎所有機器有1字節等于8位,即1字節可以表示0-255之間的整數
  • 字:自然存儲單位:8位的微型計算機一字為8位,16,32位的為即一字為16位或32位

基本整型類型

  1. int型:儲存要占1個機器字長,16位機器,范圍-32768 ~ 32767目前大多數機器32位,即占4個字節,存儲數字范圍為:-2147483648 ~ 2147483647
  2. short型:存儲小于等于int,-32768 ~ 32767
  3. long型:儲存大于等于int,-2147483648 ~ 2147483647
  4. long long型:存儲至少64位,即8個字節
  5. unsigned型:無符號,只能存儲正整數,能存儲比signed更大的整數
  6. 目前普遍設置:long long 64位8字節,long 32位4字節,short 16位2字節,int 16/32位 2/4字節
  7. 常量:超出int范圍,視為long,超出long范圍,視為unsigned long,繼續long long, unsigned long long
  8. 用H/h作為short,用L/l作為long, 用LL/ll作為long long,用U/u作為unsigned,例如343H,3234L,35455LL,435345U,534546467ULL
  9. char型:一個字節,-128 ~ 127,ASCII編碼0~127,存儲綽綽有余,C語言將字符常量視為int型非char型,是否有符號看編譯器
  10. 整型可以表示10,8,16進制,如32,032,0x32/0X32

基本浮點類型

  • float:至少6位有效數字,取值至少10的-37到+37次方。通常浮點占32位,8位指數的值和符號,剩下的24位非指數的值和符號。
    浮點最大:999999961690316250000000000000000000.000000
    超過:1.#INF00
  • double,至少13位有效數字。通常64位,剩下的32位給非指數部分。
  • long double 更高的精確要求,至少比double精確

復數和虛數類型

  • 復數:float_Complex,double_Complex,long double_Complex
  • 虛數:float_Imaginary,double_Imaginary,long double_Imaginary

類型大小

sizeof()函數
sizeof(int),sizeof(char)等等……

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容