摘要:
在C语言中,自动变量在堆栈中分配内存。当包含自动变量的函数或代码块退出时,它们所占用的内存便被回收,它们的内容肯定会被下一个所调用的函数覆盖。这一切取决于堆栈中先前的自动变量位于何处,活动函数声明了什么变量,写入了什么内容等。原先自动变量地址的内容可能被立即覆盖,也可能稍后才被覆盖。 解决方案: 1. 返回一个指向字符串常量的指针。例如:char* func() { return "Only works for simple strings";} 这是最简单的解决方案,但如果你需要计算字符串的内容,它就无能为力了,在本例中就是如此。如果字符串常量存储于只读内存区,但以... 阅读全文
posted @ 2013-07-10 21:31
wiessharling
阅读(11779)
评论(0)
推荐(1)

浙公网安备 33010602011771号