我們前面學習了資料在記憶體中的儲存,包括整型,浮點數等等資料型別。
這裡我們簡單舉幾個例子,通過這些典例的講解,希望可以對記憶體有乙個更客觀、更深刻的理解。
典例 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 中的儲存型別
儲存型別是從變數的存在時間 即生存期 來劃分變數。變數的儲存型別可分為靜態儲存方式和動態儲存方式。對於動態儲存變數,當程式執行到該變數處時才為其分配儲存空間,當程式執行到該變數所在作用域的結束處時自動收回為其分配的儲存空間,因此它的生存期為所在作用域。在程式開始就執行就為其分配儲存空間,直到程式結束...