char是如何存储地址的



我是一个初学者,我完全不知道一些字符串是如何返回指向其在内存中位置的指针的?

char* str = "okay"

为什么它是指针?毕竟,我们甚至不使用new

char如何存储地址

它不是,它是指向char的指针。

一些字符串如何返回指向其位置的指针

字符串文字(通常(是存储在内存中的只读部分中的常量字符数组,该只读部分映射到可执行文件中的某个部分。更多细节是特定于操作系统的,但重要的是字符串文字会像其他数组一样衰减为指向其第一个字符的指针。

毕竟,我们甚至不使用new

newmalloc()当然会返回指针,但它们并不是指针的唯一来源。正如您在代码中看到的,字符串文字也是指针的来源,如果您愿意,没有什么可以阻止您编写char *p = (char *)0x800;之类的东西,这是您在内核或真实模式编程中经常看到的。

相关内容

  • 没有找到相关文章

最新更新