char佔1位元組,short佔 2 位元組,int 、float、long 都佔 4 位元組,double 佔8 位元組
指標長度和位址匯流排有關。因為指標記錄的就是乙個位址,那麼32位的就是4位元組,64位的就是8位元組。
發現乙個問題,以下**是在win10 64位系統下跑的,理應來說int佔8個位元組,後來我想錯了;我建立的工程是win32控制台應用,意味著編譯器就是32位的--「int佔多少個位元組既由編譯器決定,也由cpu或虛擬機器或作業系統決定,但歸根結底是由編譯器決定。」
64位win10下,codeblocks win32 控制台下
#include "iostream"
using namespace std;
int main()
{double *p = null;
cout《結果為:12
4448
44444
c 資料型別占用的位元組數
bool system.boolean 布林型,其值為 true 或者 false byte system.byte 位元組型,佔 1 位元組,表示 8 位正整數,範圍 0 255 sbyte system.sbyte 帶符號位元組型,佔 1 位元組,表示 8 位整數,範圍 128 127 char...
c 資料型別占用的位元組數
bool system.boolean 布林型,其值為 true 或者 false byte system.byte 位元組型,佔 1 位元組,表示 8 位正整數,範圍 0 255 sbyte system.sbyte 帶符號位元組型,佔 1 位元組,表示 8 位整數,範圍 128 127 char...
c 資料型別占用的位元組數
bool system.boolean 布林型,其值為 true 或者 false byte system.byte 位元組型,佔 1 位元組,表示 8 位正整數,範圍 0 255 sbyte system.sbyte 帶符號位元組型,佔 1 位元組,表示 8 位整數,範圍 128 127 char...