首頁 > 後端開發 > C++ > 為什麼 C 和 C 之間 `sizeof('a')` 不同?

為什麼 C 和 C 之間 `sizeof('a')` 不同?

Patricia Arquette
發布: 2024-12-26 07:22:29
原創
230 人瀏覽過

Why Does `sizeof('a')` Differ Between C and C  ?

C 和C 中的字元大小差異

在C 和C 中, sizeof 運算子提供有關資料類型或資料大小的資訊多變的。透過使用此運算符檢查程式的輸出,程式設計師可以了解有關他們正在使用的資料的關鍵細節。然而,令人驚訝的是,當將 sizeof 運算子應用於 C 和 C 之間的字元值時,會產生不同的結果。

考慮以下C 程式:

執行時,程式將列印:

現在,讓我們看看用C 編寫的同一個程式:

在 C中運行時,輸出:

主要區別在於 C 和 C 在內部如何表示字元常數。在 C 中,像「a」這樣的字元常數被視為具有對應 ASCII 值的整數。這就是為什麼 sizeof('a') 在 C 中傳回 4,因為整數的大小通常為 4 個位元組。另一方面,在 C 中,字元常數被視為 char 資料類型,其大小為 1 個位元組。

以上是為什麼 C 和 C 之間 `sizeof('a')` 不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板