C 記憶體中型別的儲存典例詳解

2021-09-05 13:02:26 字數 1212 閱讀 4059

我們前面學習了資料在記憶體中的儲存,包括整型,浮點數等等資料型別。

這裡我們簡單舉幾個例子,通過這些典例的講解,希望可以對記憶體有乙個更客觀、更深刻的理解。

典例 1:

#include 

int main()

所以輸出:-1 -1 255

典例 2:

#include 

int main()

char型別變數a列印為無符號整型大致過程就是:

char型別先整型提公升為int型別,-128的二進位制之前補了很多符號位1,再變成無符號型別,結果變成了乙個很大的正數。

所以輸出:4294967168

典例 3:

#include 

int main()

所以輸出:4294967168

典例 4:

int i=-20

;unsigned int j =10;

printf

("%d\n"

, i+j)

;//按照補碼的形式進行運算,最後格式化成為有符號整數

所以輸出:-10

典例 5:

unsigned int i;

for(i =

9; i >=

0; i--

)

所以結果是:死迴圈

典例 6:

int main()

printf

("%lu"

,strlen

(a))

;return0;

}

所以結果是:255

典例 7:

#include 

unsigned char i =0;

int main()

return0;

}

所以結果是:死迴圈

型別在記憶體中的儲存

在32位平台中 char 1個位元組也就是8個位元位 short 2個位元組 int 4個位元組 long 4個位元組 long long 8個位元組 float 4個位元組 double 8個位元組 型別的歸類 資料型別 char,shrot,int,long,long long都為整型 char...

float型別在記憶體中的儲存

首先還是看一道題目 include stdafx.h include include using namespace std int tmain int argc,tchar argv 125.5在記憶體中的表示為 125.5轉化為二進位制 1111101.1,變為整數字為1,位1.1111011 ...

c 中的儲存型別

儲存型別是從變數的存在時間 即生存期 來劃分變數。變數的儲存型別可分為靜態儲存方式和動態儲存方式。對於動態儲存變數,當程式執行到該變數處時才為其分配儲存空間,當程式執行到該變數所在作用域的結束處時自動收回為其分配的儲存空間,因此它的生存期為所在作用域。在程式開始就執行就為其分配儲存空間,直到程式結束...