作用域:起作用的区域
创新互联-专业网站定制、快速模板网站建设、高性价比建阳网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式建阳网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖建阳地区。费用合理售后完善,10多年实体公司更值得信赖。
变量按作用域分:
局部变量:定义在函数内部的变量
全局变量 :定义在函数外部的变量
变量按存储类型分
auto:自动类型
作用域决定变量的生命周期
注意点:如果局部变量和全局变量起冲突,局部变量此时会成瞎子,看不到全局变量的存在
函数递归
作用域的定义是这样的:如果一个变量在某个文件或函数范围内是有效的,则称该文件或函数为该变量的作用域,在此作用域内可以引用该变量,所以又称变量在此作用域内“可见”,这种性质又称为变量的可见性。例如
文件file.c
int a;
main函数
{…
f2();
…
f1();
}
f1函数
{auto int b;
…
f2()
…
}
f2函数
{static int c;
…
}
这里a的作用域就是整个文件,b的作用域是f1函数,c的作用域是f2函数!其实作用域就是作用范围没什么很复杂的概念!
有四种,分别如下:
C语言编译器可以确认四种不同类型的作用域:
一.代码块作用域。
在KR C中,函数形参的作用域始于形参的声明处,位于函数体之外如果函数体内部声明了名字相同的局部变量,他们就将隐藏起来;ANSI C遏止了这种错误的可能性,它把形参的作用域设置为整个函数体。
二.文件作用域。
任何在代码块之外声明的标识符都具有文件作用域。但是在同文件中编写的通过include指令包含到其他文件中的声明,就好像直接写在那些文件中一样,它们的作用域不限于头文件的文件尾。
三.原型作用域(即函数体去掉代码块的部分)。
只适用于在函数原型中声明的参数。唯一可能出现的冲突就是在同一个原型中,不止一次地使用同一个名字。
四.函数作用域。
它只适用于语句标签,语句标签用于go语句。一个函数中的所有语句标签必须唯一。
希望能帮助您
还请及时采纳谢谢
C程序的标识符作用域有三种:局部、全局、文件。标识符的作用域决定了程序中的哪些语句可以使用它,换句话说,就是标识符在程序其他部分的可见性。通常,标识符的作用域都是通过它在程序中的位置隐式说明的。