<pre id=\"best-answer-content\" class=\"reply-text mb10\">这里是否会有错误报告,和p指向的地址是否能访问有关。
一般情况下,如果p指向的空间,被释放后,直接再使用,且没有溢出,很可能不会出错。你所访问的数据,就是你原本残留的数据。
但是,如果p指向的空间,被重新分配给别的程序了,就很可能出错。尤其是当该空间你不再具备读的权限时,系统则肯定会报错。
你应该有这样一种经验:定义一个字符数组:char a[10] = {\'1\',\'2\',\'3\',\'4\',\'5\',\'6\',\'7\',\'8\',\'9\',\'A\'};
你访问a[0]到a[9]时,不论是实际上还是逻辑上,都是正常的。但是你访问a[10],a[11],a[12]...时,也是可以访问的,而且有数值输出,至于到什么地方会报错,取决于哪个地址空间你没有读的权限。因此,如果你把a用%s形式输出,很可能看到\'A\'后面有一大堆的乱七八糟的字符。
|