各種型別值在所點記憶體空間一覽表:
整型:int,long,char
sizeof(int)=4 //這裡以位元組為單位,int 型佔4位元組,剛好乙個32位機的暫存器位長
sizeof(unsigned int)=4 //加個unsigned標誌不會改變記憶體空間大小
sizeof(int *)=4
sizeof(char)=4
sizeof(char *)=4
sizeof(long)=4
sizeof(long *)=4
浮點型:float,double
sizeof(float)=4
sizeof(float *)=4 //所有的近指標都為4位元組.
sizeof(double)=8
sizeof(double *)=4
結構型:
typedef struct student
student;
sizeof(student)=16
/*計算方法:
i1,l1共14位,共用乙個int記憶體.不再合併lng,超過14+28超過32
lng共28位,獨用乙個int記憶體.
ch1用乙個char記憶體的第乙個位元組
ch2用乙個char記憶體的第二個位元組
ch1,ch2共用乙個char記憶體
i2,l2同理,共11位,共用乙個int 記憶體.
總共有int + int + char +int 共4*4個位元組.
即16位
*/sizeof(student *)=4
typedef struct link
link;
sizeof(link)=12//4 byte * 3=12
sizeof(link *)=4//近指標都是4位元組.
檔案的大小與記憶體空間
乙個檔案的大小就是其實際內容具有的位元組數,以byte為衡量單位,只要內容不發生變化,就不會改變。乙個檔案的所佔空間是由每個磁碟的簇與檔案大小決定的,對於每乙個不同的磁碟,它會有不同的簇 分配單元 allucation cluster 而具體計算所佔空間的公式為 簇數 floor 檔案大小 每個分配...
C 不同資料型別佔據的記憶體空間大小
首先這個沒有標準答案 或者說沒有乙個統一的標準 除非我們加上限定詞,就是在多少位的計算機上。現在假設我們的電腦是32位機 事實上,我的電腦是32 位的 1 int 的表達用了4bytes,表示的範圍還是很大的,無符號的整型達到了0 429,467,295,所以一般沒有什麼溢位問題,不用考慮。2 si...
C 中類所佔記憶體空間大小
學習虛繼承知識的時候,無意中發現了關於c 類所需記憶體的面試題,通過sizeof 計算類所需的記憶體位元組數。當時自己就懵了,因為學習c 的時候,就知道類在宣告時是不會分配記憶體空間的還以為自己學習的東西出錯,還來才知道sizeof 作用 sizeof是 c c 中的乙個操作符 operator 簡...