今天在vs2012写c语言出现如下错误! Run-Time Check Failure #3 -The variable ‘p’ is being used without being initialized。 然后把代码复制到ubantu运行后出现新错误! segmentation fault(core dump) 在网上找了非常多解决方法都没能找到真正的原因!最后自己找出原因并解决了。由于源代码太多不放上去了,我写个几行简短的例子来为读者解惑
#include"stdio"
void main()
{
int *p
;
*p
=4;
printf("%d",*p
);
}
大家应该发现问题了吧!运行结果如图
所以出现的问题其实是因为我写的代码第五行错误,不能直接*p=4,p是指针,但是还没有被指向的变量地址,所以我第五行出现了内存问题;这当然只是举例说明在vs2012及ubantu出现这种错误的原因类型,具体代码得具体分析。