【发布时间】:2015-03-15 14:14:45
【问题描述】:
在 c 中,假设我有以下代码:
int func(){
char* s = "bla";
}
我不确定这是编译的。
由于s 不是静态的,它在func() 结束后无法生存,因此似乎指向“bla”的指针丢失了。
另一方面,程序应该仍然知道“bla”的地址,所以下次调用func() 时,s 将获得相同的地址。
我想知道上面的代码是否可以,或者我是否必须将s 声明为静态?
【问题讨论】:
标签: c string initialization