Linux C 編程詳解第二篇:數(shù)據(jù)類型 變量 內(nèi)存分區(qū)

八進(jìn)制 與 二進(jìn)制

位八進(jìn)制數(shù) 對(duì)應(yīng) 三位二進(jìn)制數(shù)

十六進(jìn)制 與 二進(jìn)制

一位十六進(jìn)制數(shù) 對(duì)應(yīng) 四位二進(jìn)制數(shù)

進(jìn)制

二進(jìn)制 : 0b 或者 0B
八進(jìn)制 : 0 0123
十六進(jìn)制 :0x 或者 0X


數(shù)據(jù)類型:

short

短整型 占用 2個(gè)字節(jié)

int

整型 占用4個(gè)字節(jié) 16位系統(tǒng)下 , int 占2個(gè)字節(jié)

long

長(zhǎng)整型 占用4個(gè)字節(jié)(32) 8個(gè)字節(jié)(64位系統(tǒng)下)

bool

占用內(nèi)存空間 : 1個(gè)字節(jié)
取值范圍(值域) : true(1) , false(0)
邏輯真 (非零) 假 (零值)
注意添加頭文件: #include <stdbool.h>

char 型

處理字符
占用內(nèi)存空間 1個(gè)字節(jié)
取值范圍(值域) : (signed) char 有符號(hào)數(shù) ; -128 ~ +127
unsigned char 無符號(hào)數(shù) ; 0 ~ 255

float

單精度 占用4個(gè)字節(jié)

double

雙精度 占用8個(gè)字節(jié)

* 浮點(diǎn)型 : 所有浮點(diǎn)型數(shù)據(jù)全部為約值


有符號(hào)負(fù)數(shù)

-127
原碼 : 1111 1111
反碼 : 1000 0000
補(bǔ)碼 : 1000 0001

* 在任意字符串的末尾會(huì)存在 字符串終止符 '\0'

變量

  • 存儲(chǔ)類型 數(shù)據(jù)類型 變量名

  • 全局變量 :定義的表達(dá)式不位于任意的函數(shù)體內(nèi)部.

  • auto : 最常用最不常見. auto 修飾局部變量 , 如果局部變量前沒有出現(xiàn)存儲(chǔ)類型, 則編譯器默認(rèn)該變量的存儲(chǔ)類型為auto .

  • register : 寄存器型 (修飾局部變量) 提醒系統(tǒng)在執(zhí)行程序時(shí)把該數(shù)據(jù)存放在寄存器中,縮短程序執(zhí)行時(shí)間, 提高程序執(zhí)行效率.如果在寄存器沒有多余的存儲(chǔ)空間時(shí), 會(huì)把該數(shù)據(jù)默認(rèn)為auto進(jìn)行處理.

  • extern : 外部參照引用類型 ,引用在同一個(gè)C語言工程中定義的全局變量

  • 變量的定義:分配存儲(chǔ)空間

  • 變量的聲明:不分配存儲(chǔ)空間.

  • static : 靜態(tài)存儲(chǔ)類型

  • 修飾局部變量 : 改變局部變量的存儲(chǔ)位置, 延長(zhǎng)變量的生命周期到程序執(zhí)行結(jié)束.
    變量的值為上一次運(yùn)算的結(jié)果值.

  • 修飾全局變量 :防止其他文件引用本文件定義的全局變量.

  • 修飾函數(shù) : 防止其他文件引用本文件定義的函數(shù).


內(nèi)存分區(qū)

代碼區(qū) :
靜態(tài)區(qū) :
  • 全局變量 、 static修飾的局部變量 、常量
    .bss段(未初始化數(shù)據(jù)區(qū)) .data段(已初始化數(shù)據(jù)區(qū)) rodata 常量區(qū)
    如果數(shù)據(jù)未初始化, 默認(rèn)值為0 .
堆區(qū) :
棧區(qū) :
  • 局部變量 , 函數(shù)參數(shù) .
    如果數(shù)據(jù)未初始化, 默認(rèn)值為隨機(jī)值.

* 有符號(hào)數(shù)與無符號(hào)數(shù)同時(shí)參與運(yùn)算時(shí), 有符號(hào)數(shù)默認(rèn)轉(zhuǎn)換為無符號(hào)數(shù)參與運(yùn)算.


位運(yùn)算符 : ~ & | ^ << >>

& :
  • 任意一位和 1相與, 結(jié)果值不變; 任意一位和 0相與, 結(jié)果值為0
| :
  • 任意一位和 0相或, 結(jié)果值不變; 任意一位和 1相或, 結(jié)果值為1
異或 :
  • 兩者相同為0, 不同為1 ;
左移 : <<
  • 左端舍棄, 右端補(bǔ)零
右移: >>
  • 邏輯右移: 右端舍棄, 左端補(bǔ)零
  • 算術(shù)右移: 右端舍棄, 左端補(bǔ)符號(hào)位.

sizeof函數(shù) :

  • 作用: 計(jì)算已知數(shù)據(jù)類型占用內(nèi)存空間的字節(jié)數(shù).
  • sizeof(類型名或者變量名);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 八進(jìn)制 與 二進(jìn)制 一位八進(jìn)制數(shù) 對(duì)應(yīng) 三位二進(jìn)制數(shù) 十六進(jìn)制 與 二進(jìn)制 一位十六進(jìn)制數(shù) 對(duì)應(yīng) 四位二進(jìn)制數(shù)...
    ibo閱讀 214評(píng)論 0 0
  • 來源:博客園 阿赫瓦里 數(shù)據(jù)類型是一種屬性,用于指定對(duì)象可保存的數(shù)據(jù)的類型,SQL Server中支持多種數(shù)據(jù)類型...
    _Nullptr閱讀 991評(píng)論 0 3
  • 廈門的海水也涼了 你不是說 你夏天要去的嗎 男神的孩子也生了 你不是說 你畢業(yè)就表白嗎 母親的年紀(jì)也大了 你不是說...
    我不是公主也會(huì)有自己的王子閱讀 281評(píng)論 0 4
  • 有人說,當(dāng)人一旦脆弱的時(shí)候,會(huì)放下很多防備。(每一年臺(tái)風(fēng)日子的紀(jì)念)不管是愛情也好,友情也好,總想找個(gè)人來傾訴...
    嘻鬧56閱讀 257評(píng)論 0 0
  • 前言 過不了多久,我就會(huì)忘記作者的名字,我也不知道她是哪位大師的太太,我也記不住書中的具體內(nèi)容。甚至,我...
    溫柔貓閱讀 335評(píng)論 0 1

友情鏈接更多精彩內(nèi)容