变量基本作用域

来源:互联网 发布:电气autocad软件下载 编辑:程序博客网 时间:2024/06/08 15:33

1.函数原型作用域
函数原型中的参数,其作用域只在()内;
设有下列函数声明:
double Area(double num);
num的作用域仅在于此,不能用于程序正文其他地方,应而可以省略;
double Area();
2.局部变量
函数内部定义的变量称为局部变量,局部变量仅能被定义该变量的模块内部的语句所识别。(花括号“{}”内部位自己的模块);
例1:
void func1()//模块1
{
int a;
a = 10;
}
void func2 ()//模块2
{
int a;
a= 10;
}//不同模块之间可以定义相同变量名的变量,因为局部变量只在自己模块里可用
例2:
void func1()//模块1
{
int a;
a = 10;
/*{
int a;
a= 10;
}称为程序块,且a只在只在最近的程序块中有效,*/
}

3.全局变量
全局变量贯穿整个程序,它作用域为源文件,可被源文件中的任何一个函数使用。
全局变量定义在所有函数之外;
例子:
Int a ,b;
void fun1()
{
….
}
float x ,y;
void fun2()
{
….
}
注:
1)全局变量定义必须在所有函数之外,且只能定义一次,一般形式为extern 类型说明符 变量名 external一般可以删除;
2)全局变量的内存分配是在编译过程中完成的,它在程序的全部执行的过程都要占用存储空间,而不是仅在需要时才开辟空间;
3)在同一源文件中。允许全局变量名和局部变量名相同;
4)全局变量作用域可以通过关键字extern扩展到整个文件或其他文件;

原创粉丝点击