如何不用sizeof判斷操作系統的位數

void main(int argc,char** argv)

{
   typedef char * PType;
    PType array[2];
    char *p0 = (char *)&array[0];
    char *p1 = (char *)&array[1];
    printf("%d",8*(p1 - p0));

}


常用數據類型對應字節數
      可用如sizeof(char),sizeof(char*)等得出

      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個字節

      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個字節




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章