首頁>Club>
9
回覆列表
  • 1 # 使用者863120025082

    C語言標準層面來說,沒有明確定義。只能確定sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)。

    從實現角度來說,64位Linux採用的是LP64模型,這意味著Long, Pointer都是8位元組。32位Linux採用的是ILP32模型,也就是Int Long Pointer均為4位元組。

    參考:將 Linux 應用程式移植到 64 位系統上

    知乎不支援插入table,用LaTeX強行畫了個,將就看吧。(中途滑鼠戳外面關掉了居然不儲存公式?)

    補充:……沒仔細看題預設當Linux了,Windows下32位是ILP32(你猜是什麼意思),64位是LLP64。

  • 2 # 使用者567575117764

    int是整形變數,在16位作業系統中,int型佔兩個位元組。

  • 3 # 快樂的在水一方

    int型,一個數字佔一個字元。16位每個字元佔兩個位元組,32位佔四個位元組。

  • 4 # 使用者352755821118

    第一個解釋是int據說是根據不同的編譯器在定義的,不同的編譯器int的位元組是不一樣的,但是大多的編譯器int都佔4個位元組。


    第二個解釋是作業系統16位的時候,int 2位元組,作業系統32位的時候,int 4位元組,由於32位系統之前佔主流地位,實際現在就算是64位系統,出於相容性考慮,int也是4位元組的。

  • 中秋節和大豐收的關聯?
  • 地熱,哪個是進水閥哪個是出水閥?地熱不熱。應該怎麼放水?