首頁 >運維 >linux運維 >linux中short有幾個位元組

linux中short有幾個位元組

WBOY
WBOY原創
2022-07-13 10:40:464376瀏覽

在linux中,32位元平台和64位元平台中的short都佔2個位元組;linux中只有long長整型、void(c語言中,void為「不確定型別」)在32位元中是4個位元組,在64位元中是8個位元組。

linux中short有幾個位元組

本教學操作環境:linux7.3系統、Dell G3電腦。

linux中short有幾個位元組

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或虛擬機器或作業系統決定,但歸根究底是由編譯器決定。」

64位元win10下,codeblocks win32 控制台下

#include "iostream"
using namespace std;
int main()
{
double *p = NULL;
cout<<sizeof(char)<<endl;
cout<<sizeof(short)<<endl;
cout<<sizeof(int)<<endl;
cout<<sizeof(float)<<endl;
cout<<sizeof(long)<<endl;
cout<<sizeof(double)<<endl;
cout<< sizeof(char *) << sizeof(short *) << sizeof(int *) << sizeof(p) << sizeof(double *)<<endl;
return 0;
}

結果為:

1
2
4
4
4
8
44444

由上可知,char佔1字節,short佔2 字節,int 、float、long 都佔4 字節,double 佔8 個位元組,任意類型的指標都佔4個位元組;

推薦學習:Linux影片教學

以上是linux中short有幾個位元組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn