您的位置:首页 > 其它

指针定义时未明确内存区域导致的内存溢出

2009-06-18 21:05 375 查看
如下程序:
int ShowTest()
{
int *piData;
int i = 0;

printf("please input data: ");
for( i = 0; 5 > i; i++ )
{
scanf("%d", (piData + i));
}

return 0;
}

GCC编译通过,但是运行出错。
使用GNU调试,发现在执行到“scanf("%d", (piData + i));”后,屏幕提示输入数据,输入一个int数据后回车,发现GNU捕获了异常:内存溢出。如下所示。




“STATUS_ACCESS_VIOLATION”。
这个错误比较明显,即piData 没有申请空间就使用,显然是内存溢出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: