马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
作用域和链接属性
1>作用域
作用域:指标识符的作用范围。C语言中作用域分为四种:
1)代码块作用域;即{大括号}所包围的内容;
2)文件作用域;即全局变量,函数名;
3)原型作用域;指函数声名中的形参;
4)函数作用域;goto语句标签,只能在函数内部跳转,一般很少使用。
2>定义和声名
定义会在内存中申请空间存放需要的数据,而声名只是说明此数据已存在,不要重复定义。
3>链接属性
C语言中有三种链接属性,用来说明不同作用域间的同名标识符的关系。
1)external(外部的):多个文件中声名的同名标识符表示同一个实体;
2)internal(内部的):单个文件中声名的同名标识符表示同一个实体;
3)none(无):声名的同名标识符被当作独立不同的实体;
注意:只有文件作用域才能拥有external,internal属性,其它的都是none;
通过static来修饰标注符,能把文件作用域由external转为internal。从而使得文件中的全局变量对其它文件不可见。但这是一次性操作,不能恢复。//则在其它文件中定义下面语句也无法访问变量a
extern int a;
|