c语言中变量未赋值有地址吗?

例如:int *p2,n;
p2 = &n;

img


第十题的B选项,错误的原因是什么?

值总是会有的
你只要定义变量,就会占用内存,内存里总会有东西,那么新定义的指针就会是该值。但这个值无法预测,也不是实际你想指向的有效地址,所以你不能用指针去操作这个值,因为这个值指向的内存地址不受你控制,会导致崩溃
这个B选项如果三个语句顺序执行,实际是正确的。

有 默认赋值为0

有大佬解惑吗