我有以下代码的分段错误,我真的不明白问题在哪里...
int *p; p[0]=1; printf("%d\n",*p);
谢谢
p没有初始化.p[0](相当于*(p + 0),有效地*p)尝试取消引用它,由于其中的不确定值导致未定义的行为p.
p
p[0]
*(p + 0)
*p
要使程序定义良好,您需要指向一些已分配的内存位置:
int i; int* p = &i; p[0] = 1; printf("%d\n", *p);