gpt4 book ai didi

c++ - c++中文字常量的存储

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:34 29 4
gpt4 key购买 nike

我想知道文字常量实际存储在内存中的什么位置?

例子:

int i = 5;
char* data = char* &("abcdefgh");

idata 的存储部分取决于它们声明的位置。但是编译器会在实际将其复制到变量之前存储 5"abcdefgh" 吗?

而且这里可以获取"abcdefgh"存放的地址,但是为什么获取不到5的地址呢?

最佳答案

5 之类的整数文字可以是机器指令的一部分。例如:

 LD A, 5

会将值 5 加载到某些假想架构的处理器寄存器 A 中,并且由于 5 实际上是指令的一部分,因此它没有地址。很少(如果有的话)体系结构能够在机器指令中内联创建字符串文字,因此这些实际上必须存储在内存中的其他地方并通过指针访问。 C++ 标准并未指定“其他地方”的确切位置。

关于c++ - c++中文字常量的存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43454489/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com