數據類型占內存的位數與操作系統的位數以及編譯器有關,一般情況下在當前主流的編譯器中int類型無論在32位或64位系統中都是4個字節
編譯器可以根據自身硬件來選擇合適的大小,但是需要滿足約束:short和int型至少為16位,long型至少為32位,并且short型長度不能超過int型,而int型不能超過long型。這即是說各個類型的變量長度是由編譯器來決定的,而當前主流的編譯器中一般是32位機器和64位機器中int型都是4個字節(例如,GCC)。下面列舉在GCC編譯器下32位機器和64位機器各個類型變量所占字節數:
C類型 | 32 | 64 |
char | 1 | 1 |
short int | 2 | 2 |
int | 4 | 4 |
long int | 4 | 8 |
long long int | 8 | 8 |
char* | 4 | 8 |
float | 4 | 4 |
double | 8 | 8 |
需要說明一下的是指針類型存儲的是所指向變量的地址,所以32位機器只需要32bit,而64位機器需要64bit。
總結:數據類型占內存的位數實際上與操作系統的位數和編譯器(不同編譯器支持的位數可能有所不同)都有關,具體某種數據類型占字節數需要編譯器根據操作系統位數間進行協調好后分配內存大小
新聞排行
圖文播報
科普信息網 - 科普類網站
聯系郵箱:85 572 98@qq.com 備案號: 粵ICP備18023326號-39
版權所有:科普信息網 www.www44bkbkcom.cn copyright © 2018 - 2020
科普信息網版權所有 本站點信息未經允許不得復制或鏡像,違者將被追究法律責任!