根据我的理解,数据段由两部分组成。
1. Initialized segment.
a. Read Only.
b. Read/Write.
2. Uninitialized segment.
例子:
int main(void)
{
char* cptr = "Hello"; // The string "Hello" will sit in 'Read only' memory.
//cptr[2] = 'Z'; // Gives seg fault.
...
return 0;
}
我的问题是,“只读”内存是否仅用于存储字符串常量?
最佳答案
你是对的,几乎......一个程序中的全局静态数据有三种:
const
全局数据保留。 它不一定在数据段 中,它可以在程序的文本段(通常是 .rodata
段),因为它通常不能被程序修改。 .data
段)。 .bss
段)。 关于c - 数据段中只读存储器的使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39252410/