根据我目前的理解:
main()中的局部变量main(),它位于main()堆栈上main()中创建线程之后,它们都可以访问相同的a。等等.?我的推理有什么问题..。
我也许不应该猜测,但是现在是这样的:在线程的透视图上,父堆栈似乎是.全球性的?
(我知道以前可能有人问过这个问题,但我找不到确切的解释)
发布于 2021-01-06 16:03:24
函数中的变量称为局部变量。
void function_1(){ int a,b;}A和B只能在这个函数中使用。调用函数后,变量将被销毁。
下一个例子:
#include<stdio.h>
int main()
{
int a = 100;
{
/* variable a declared in this block is
completely different from variable
declared outside. */
int a = 10;
printf("Inner a = %d\n", a);
}
printf("Outer a = %d\n", a);
// signal to operating system everything works fine
return 0;
}A可以在main()内部使用
全局变量:
#include<stdio.h>
void func_1();
int a, b = 10; // declaring and initializing global variables
int main()
{
printf("Global a = %d\n", a);
printf("Global b = %d\n\n", b);
func_1();
// signal to operating system program ran fine
return 0;
}
void func_1()
{
printf("From func_1() Global a = %d\n", a);
printf("From func_1() Global b = %d\n\n", b);
}A和B可以在main()和func_1()中使用。
https://stackoverflow.com/questions/53807134
复制相似问题