鱼C论坛

 找回密码
 立即注册
查看: 2133|回复: 0

[技术交流] S1E32作用域和链接属性笔记

[复制链接]
发表于 2017-8-20 13:19:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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

评分

参与人数 1鱼币 +3 收起 理由
小甲鱼 + 3 支持楼主!

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-28 16:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表