写出每个变量是局部变量还是全局变量,作用域分别是哪里到哪里

来源:百度知道 编辑:UC知道 时间:2024/05/30 09:46:48
int a,b;
int f()
{float c,d;
……}
char c1,c2;
int max(int x,int y)
{……}
long h;

// 全局变量,作用域整个类的内部
int a,b;
int f()
{
// 局部变量, 作用域f这个方法内
float c,d;
}
// 全局变量,作用域类的内部
char c1,c2;
// x,y是局部变量,作用域方法内部
int max(int x,int y)
{}
// 全局变量,作用域整个类
long h;

a,b是全局变量,作用域是本段代码所在的括号区域的从int a,b;向下的全域(本段代码可以包含在一个括号里);
c,d是局部变量,作用域是float c,d所在的那个括号内;
c1,c2是全局变量,作用域是本段代码所在的括号区域的从char c1,c2;向下的全域(本段代码可以包含在一个括号里);
h是局部变量,作用域是本段代码所在的括号区域的从long h;向下的全域(本段代码可以包含在一个括号里)。

因为题目没有指定main函数的位置,所以以上假设main函数完全独立于这些代码之外

-----------------------

特别的,如果这些代码放在一个类class中,那么以上的答案全部作废,这就无法说清楚了。只能说个大概:所有的变量都可以在用这个类实例化的对象中作为成员被使用,不管定义在哪里。