我創建了一個簡單的程序來理解指針的行爲。我試過這個程序來理解指針的行爲,但是它產生了分段錯誤。這個程序中分段錯誤的原因是什麼?
#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