<分区>
Possible Duplicate:
Can a local variable’s memory be accessed outside its scope?
我已经使用指针声明了一个 C 风格的数组,并为其分配了一个函数返回的值。
1. const char* str = chArr->readString();
在上面之后,我想按如下方式计算 str:
2。 cout << "pointer to char is = " << str <<endl;
和 readString
是:
char* CharArray::readString()
{
std::cout << "Insert a string of max 19 length:" <<std::endl;
char string[20];
std::cin.getline(string,20,'\n');
return string;
}
当我在第 2 行放置一个断点时,我可以看到正确的结果为 str
的值.
但是控制台窗口什么也没显示,在通过第 2 步之后,当我查看 str
时值,它显示类似“P÷7
”或“äû:
”的内容,..
也许值得一提的是,对于长度为 4,5 的 str I 字符串。尽管 str 的长度不是 19。