C:是否在堆或堆栈上分配了匿名数组?

时间:2014-11-16 21:14:04

标签: c pointers memory anonymous

例如这里的代码:

char *s = "Hello";

你好"你好"被存储?它是匿名存储在内存中的吗?

2 个答案:

答案 0 :(得分:2)

字符串文字具有静态存储持续时间,并且分配在既不在堆栈上也不在堆中的静态内存中。例如,它们可以在只读数据段中分配。

答案 1 :(得分:2)

C Standard没有定义存储字符串文字的地方(它甚至不使用堆栈或堆等术语)。它只告诉它有静态存储持续时间。通常,这意味着它位于 data segment