我创建了一个简单的程序来理解指针的行为。我试过这个程序来理解指针的行为,但是它产生了分段错误。这个程序中分段错误的原因是什么?
#include<stdio.h>
int main()
{
int x =9;
/* what is meaning of this line when & operator is not used*/
int *pts = x;
printf("%d",*pts);
return 0;
}
为什么会出现分段故障?我试图了解程序的行为。
这不是一个“调试我的代码的免费”服务! –
你想要x的地址,而不是他的值,基本上你是说x的地址是0x0009(不是真的,你不允许访问这个地址,结果你得到了seg-fault):使用int * pts =&x;',其中'&x'表示地址x –
这应该是编译器错误(或者至少是警告)。 – melpomene