为何创建指针后,C语言未初始化变量不再默认初始化为0?
未初始化局部变量的输出差异
先看这段C代码:
int main() { int x; printf("%d", x); return 0; }
无论执行多少次,这段代码最终都会输出0。
但如果创建一个指针指向x(或任意变量),代码变为:
int main() { // Write C code here int x; printf("%d", x); int *z = &x; return 0; }
此时它就会输出类似25345的随机整数值。无论指针在何处初始化,int这类未初始化的局部变量都不再默认输出0。
内容的提问来源于stack exchange,提问作者Eric Gumba
相关产品推荐
相关产品推荐

