天天看點

C/C++中的常量到底存在了什麼地方

一般來說,基本類型(整型、字元型等)常量會在編譯階段被編譯成立即數,占的是代碼段的記憶體。(代碼段是隻讀的,而且不允程式員擷取代碼段的位址,是以在c++中,盡量不為const配置設定資料段的記憶體,但是一旦取cosnt的位址,就不得不配置設定了,但是讀const的時候,依然是從代碼段讀取那個立即數)

而字元串常量或基本類型的常量數組占用的是資料段記憶體。

當然,占代碼段的記憶體一般不在我們常說的“占記憶體”範圍中。