可能重复:
Segmentation Fault when attempting to print value in C不能赋值给变量和指针
我很新的C,但不知道为什么这个程序中断。如果我删除了与i
有关的行,程序就会编译并运行,但是如果我分配了i
,那么我不能再为*ptr
分配任何内容,而不会中断程序。
int main(void)
{
int i;
int *ptr;
i = 2;
*ptr = 5;
printf("%d",*ptr);
}
[这](http://stackoverflow.com/questions/11278085/segmentation-fault-when-前试图打印价值在C)几乎相同的问题昨天才被问到。 – pb2q
问题是你已经创建了一个指针,但没有给它指向任何东西。您可以使用新分配一些内存,或者将它指向像i这样的变量。 – jlunavtgrad