在C語言中,double、long、unsigned、int、char類型數據所佔字節數

在C語言中,double、long、unsigned、int、char類型數據所佔字節數

1.說明:

1.以防以後會用到。
2. 和機器字長及編譯器有關係:
所以,int,long int,short int的寬度都可能隨編譯器而異。
3. 但有幾條鐵定的原則(ANSI/ISO制訂的):

1.sizeof(short int)<=sizeof(int)
2.sizeof(int)<=sizeof(long int)
3.short int至少應爲16位(2字節)
4.long int至少應爲32位。

  • 注:unsigned 是無符號的意思。

2.解釋:

  1. 16位編譯器

    char :1個字節
    char*(即指針變量): 2個字節
    short int : 2個字節
    int:  2個字節
    unsigned int : 2個字節
    float:  4個字節
    double:   8個字節
    long:   4個字節
    long long:  8個字節
    unsigned long:  4個字節
    
  2. 32位編譯器

    char :1個字節
    char*(即指針變量): 4個字節(32位的尋址空間是2^32, 即32個bit,也就是4個字節。同理64位編譯器)
    short int : 2個字節
    int:  4個字節
    unsigned int : 4個字節
    float:  4個字節
    double:   8個字節
    long:   4個字節
    long long:  8個字節
    unsigned long:  4個字節
    
  3. 64位編譯器

    char :1個字節
    char*(即指針變量): 8個字節
    short int : 2個字節
    int:  4個字節
    unsigned int : 4個字節
    float:  4個字節
    double:   8個字節
    long:   8個字節
    long long:  8個字節
    unsigned long:  8個字節
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章