当前位置:文档之家› C语言变量的作用域

C语言变量的作用域


}
/******************************************************************************
1.函数定义时,即使只有一条非空语句,“{……}”也绝对不能省略。
2.当函数体比较小,且执行的功能比较简单时,可以定义内联函数<只需在函数类型名前加
******************************************************************************/
int max(int x,int y) //此处的 x,y 作用域只是 max 函数体内部
{
return (x>y?x:y);
}
/******************************************************************************
1.当标识符具有不同的作用域(作用范围)时,标识符可以同名。
2.当外层块和内层块中有同名变量定义时,外层块的同名变量在内层块中不起作用。
3.在内层块中引用全局变量需要使用作用域运算符“::”<优先级最高>
for(int j=0;j<50;j++);
/*此处 j 的作用域从定义处----包含 for 循环的那个内层块
结束*/
printf("j=%d\n",j);
}
printf("i=%d,j=%d::i=%d\n",i,j,::i); //::i 是引用全局变量 i=10
printf("max=%d\n",max(5,6));
#include<stdio.h>
int i=10;
//全局变量的作用域是从定义处----程序结束
const int j=10;
//全局常量的作用域是从定义处----程序结束
/******************************************************************************
4.在 Visual C 中 for 循环声明的标识符作用域是从定义处----包含 for 循环的那个内层块结束;
而标准 C 中仅仅作用于 for 循环体中。
******************************************************************************/
int max(int x,int y); //函数 max()的作用域从声明处----程序结束,此处的 x,y 其作用域只在圆括
号之间
void main()
{
int i=5;
//此处 i 的作用域在外层块主函数之间
{
int i=0; //此处 i 的作用域在内层块之间
printf("i=%d,j=%d,::i=%d\n",i,j,::i); //::i 是引用全局变量 i=10
1.同一个函数的原型可作多次声明。
2.可以在函数声明或定义时给其形参指定默认值,如 int max(int x,int y=2);但同一参数只能指
定一次值,且只能从右到左逐个指定。调用时有可以用 max(1,2);或 max(1);<实参个数可以与
形参个数不一致>
******************************************************************************/
上关键字 inline>,减少程序的执行时间,但这样会增加代码的实际长度。
3.C++允许多个同名函数的存在,但此时同名的各个函数的形参必须有区别______函数重载。
4.有返回值的函数必须通过 return 语句将返回值返回,但函数调用时可以不使用其返回值,
如 max(1,2);
5.一旦执行 return 语句,在函数体内 ຫໍສະໝຸດ eturn 后面的语句就不再被执行了。
相关主题