虽然我知道内存布局应该是:
文本段:可执行指令(我猜的是二进制的机器代码)
初始化数据段:初始化的全局和静态变量,如果静态int a=10; a存储在这里,我假设值10也存储在这里?
未初始化的数据段:存储未初始化的变量。 静态int A; “a”将存储在这里。
堆栈:局部,临时变量,递归函数调用,返回地址。
堆:通过malloc或realloc分配给变量的动态内存。
char *s = “hello world”
指针变量和字符串“Hello World”将存储在哪里?
在C/C++中变量数据存储在哪里?
取决于执行情况。 这里大致有一些可能性:
我知道内存布局应该是。。。
您所描述的情况可能对某些系统/CPU体系结构是正确的。 它不是C++语言中指定的东西。
char *s = “hello world”
指针变量。。。将存储在哪里?
假设变量具有静态存储,并且它是初始化的,如果您的描述是正确的,则适用于:
初始化数据段:初始化的全局和静态变量
字符串“Hello World”将存储在哪里?
假设字符串文字具有静态存储并且它是初始化的,同上适用。
此外,代码段的格式不正确(自C++11以来),因为字符串文本不能转换为指向非常量字符的指针。