读书人

关于指针和局部变量有关问题

发布时间: 2012-03-17 19:06:28 作者: rapoo

关于指针和局部变量问题
char* get(void)
{
char* str={ "abcd "};
return str;
}

int _tmain(int argc, _TCHAR* argv[])
{
char* val=get();
cout < <val < <endl;

return 0;
}
这个指针str可以从局部函数中返回正确的值原因是什么。是因为他是指向一个固定的字符串吗?


[解决办法]
是的。
字面字符串都保存在静态区中。
[解决办法]
是的.const类型的分配空间不是在堆栈当中,而是静态的,所以它并不在堆栈还原的时候消除.

读书人网 >C++

热点推荐