[英]Where is variable data stored in C/C++?
雖然我知道 memory 布局應該是:
文本段:可執行指令(我猜是二進制機器碼)
初始化數據段:如果 static int a = 10,則初始化的全局和 static 變量; a 存儲在這里,我假設值 10 也存儲在這里?
未初始化的數據段:存儲未初始化的變量。 static int a; 'a' 將存儲在這里。
堆棧:本地、臨時變量、遞歸 function 調用、返回地址。
堆:動態 memory 通過 malloc 或 realloc 分配給變量。
char *s = “hello world”
指針變量和字符串“hello world”將存儲在哪里?
C/C++ 中的變量數據存儲在哪里?
取決於實施。 以下是一般的一些可能性:
雖然我知道 memory 布局應該是......
您所描述的可能適用於某些系統/ CPU 架構。 它不是 C++ 語言中指定的內容。
char *s = “hello world”
指針變量......將存儲在哪里?
鑒於該變量具有 static 存儲,並且已初始化,如果您的描述正確,則適用:
已初始化的數據段:已初始化的全局和 static 變量
將......字符串“hello world”存儲在哪里?
字符串文字有 static 存儲並且它被初始化。 雖然它不是一個變量。 沒有一個描述很合適。
此外,該代碼段格式錯誤(自 C++11 起),因為字符串文字不能轉換為指向非 const char 的指針。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.