【发布时间】:2015-04-12 18:36:23
【问题描述】:
假设以下简单代码:
int main(void){
char *p;
int i = 1;
while(i){
char str[] = "string";
p = str;
i = 0;
}
/* Can I use above string by using `p` in here? */
return 0;
}
我将一个字符串(char 数组)声明为仅在while{} 中有效的局部变量。但是我将它的数组地址保存到了指针p,它在while{} 之外也有效。可以通过p在while{}之外使用字符串吗?
如果没问题,为什么会起作用?
【问题讨论】:
标签: c variables pointers scope local-variables