1. 程式人生 > >C語言基礎篇-數據類型(二)關鍵字

C語言基礎篇-數據類型(二)關鍵字

至少 硬件 邏輯結構 內存空間 結構 根據 什麽 操作 自定義

導航:

  1. 數據類型

  2. 自定義類型

  3. 邏輯結構

  4. 類型修飾符

  5. 雜項

----->x<------------->x<--------------->x<--------------->x<------------->x<----- 1 數據類型 (限制 占用內存大小 的 關鍵字)   -- char     硬件最小單位:bit; 軟件最小單位 char; [ char(B)=8 bit ]     char [1 byte]= 8bit = 256 種狀態.     進制: 十進制 八進制 十六進制 二進制
    在硬件描述中 一個char _ _ _ _ _ _ _ _ 8bit 的內存 空間     如果我這樣寫:     char a = 0x1a;     轉換成2進制就是 0001 1010 這樣就是對這8個空間為進行賦值.
  -- int 編譯器能處理的最優處理單位.     32位系統 一個周期能走滿 32bit == 4B 就是int 的大小.     16位系統 一個周期能讀取 16bit == 2B 就是 shot (int) 的大小.     64位系統 一個周期能讀取 64bit == 8B 就是int 的大小.     #所以, int的大小不是固定的,是根據操作系統和編譯器所決定 .
    什麽時候用int? 什麽時候用char?     如果用來 描述 數據, 就用int. a.容量大; b.能達到系統的最優處理大小.     如果用來 描述 硬件, 一般使用char.   -- long 至少4B 大小的數據長度.     long的長度最少是4byte.什麽意思呢?意義體現在16位的操作系統中. 在16位的系統中,int的大小只有2byte,     2b == 65353 種狀態.如果超過了,就要使用 bouble 或者 long .因為long至少保證 4byte的大小.
  -- unsigned 和 signed 區別 最高字節 是 符號位 還是 普通的數據
    unsigned 無符號 一般用來采集數據     signed 有符號 就是用來定義用於計算的數值
    二者在位移運算中體現差異.因為有符號數的第一位是符號位正0 負1.     char a = -1 (0xff) a 在不斷左移的過程中, 並不會變成0, 因為 符號位 一直在占位.     unsigned char b = 0xff b 在不斷右移過後,會變成 0x00.
  -- float 和 double 浮點運算     浮點數 在 內存中的表現形式 跟 整數 是完全不一樣的 .     float 4byte     double 8byte 非常浪費內存空間,但是精確.
  -- void 這是最神奇的一種數據類型.     因為它可以轉換成 任何數據類型,它更多的意義是 聲明 標誌,而不是 使用 標誌 .     void a; a = (int)b; 2.未完待續...

C語言基礎篇-數據類型(二)關鍵字