Tag: 局部变量

从函数返回局部变量

在下面的代码中,我返回一个指向函数内部本地创建的char数组的指针。 因此,当返回值分配给y ,它应该都是垃圾。 当我打印%10s或%100s时,这似乎也适用。 但是当我打印%1000s ,我得到的输出似乎让我感到困惑。 #include char* get() { char x[1000] ; int i = 0; for(; i < 999; ++i) { x[i] = 'A'; } x[999] = '\0'; printf("%1000s\n",x); return x; } int main() { char* y = get(); printf("Going to print\n"); printf("%1000s\n",y); } 输出是 main()函数访问用于创建本地函数char数组的相同内存位置是巧合还是更具体?

为什么C中局部变量的默认值相同?

#include int main() { int i,j=3; i=4+2*j/i-1; printf(“%d”,i); return 0; } 它会每次打印9,虽然我没有初始化,所以,它必须打印任何垃圾值。 请解释…

如何引用局部变量在C中共享全局变量的同名?

例如 #include int foo = 100; int bar() { int foo; /* local foo = global foo, how to implemented? */ return 0; } int main() { int result = bar(); return 0; } 我认为在function栏中,直接调用foo将获得全局foo。 我怎么能引用当地的foo? 我知道在C ++中,有这个指针。 但是,C有类似的东西吗? 非常感谢!