在linux中,32位平臺和64位平臺中的short都占2個字節;linux中只有long長整型、void(c語言中,void為“不確定類型”)在32位中是4個字節,在64位中是8個字節。
本教程操作環境:linux7.3系統、Dell G3電腦。
linux中short有幾個字節
看出只有 long(長整型),void*(c語言中,void為“不確定類型”),在32位4個字節,在64位8個字節。
擴展知識
char占1字節,short占 2 字節,int 、Float、long 都占 4 字節,double 占8 字節
指針長度和地址總線有關。因為指針記錄的就是一個地址,那么32位的就是4字節,64位的就是8字節。
發現一個問題,以下代碼是在win10 64位系統下跑的,理應來說int占8個字節,后來我想錯了;我建立的工程是win32控制臺應用,意味著編譯器就是32位的–“int占多少個字節既由編譯器決定,也由CPU或虛擬機或操作系統決定,但歸根結底是由編譯器決定?!?/p>
64位win10下,codeblocks win32 控制臺下
#include?"iostream" using?namespace?std; int?main() { double?*p?=?NULL; cout<p>結果為:</p><pre class="brush:sql;toolbar:false">1 2 4 4 4 8 44444
由上可知,char占1字節,short占 2 字節,int 、float、long 都占 4 字節,double 占8 字節,任意類型的指針都占4個字節;
推薦學習:Linux視頻教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦