输出是:10
,没有错误。
int main(){
int j=10;
int *i=&j;
printf("%d",*i);
return 0;
}
但它给了我一个错误:
int main(){
int *i;
int j=10;
*i=&j;
printf("%d",*i);
return 0;
}
我知道指针取消引用导致了错误。但这是怎么发生的呢?
最佳答案
因为你使用的是未初始化的指针。
你的 *i = &j
应该是 i = &j
关于c - 指针解除引用错误的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36844561/