比较合理的extern作用描述

来源:互联网 发布:英国进出口数据 编辑:程序博客网 时间:2024/06/05 19:47

A君这样问:c语言中extern修饰的函数原型与不用extern修饰的函数原型有没有区别?

B君这样答:

具体见《C++程序设计教程》钱能 清华大学出版社
第101页“默认的函数声明或定义总是extern的,所以......”

一些同志应该分清变量和函数所用的extern修饰,在用法上是不同的。
不要把变量的extern用法想当然的套用到函数上。

C君这样答:

函数根本不按照全局和局部的概念进行区分,因为C不支持函数的嵌套定义,而且也不像C++可以把函数放在类域/名字空间域里面做成员。

extern在这里是指明函数的链接域用的,非static情况下,产生的链接符号是全局的,指定static的时候是使用了文件域,这个都是在链接器里面的概念。

c语言中extern修饰的变量与不用extern修饰的变量有没有区别?

我的回答:

有extern修饰的变量是个声明,声明在其他文件定义的变量在这个文件被使用;没有extern修饰的变量是全局变量定义,这个全局变量如果要被其他文件使用,其他文件必须要加extern修饰来声明。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 户口注销后房产怎么办 公司注销后车辆怎么办 注销后的手机号怎么办 网易邮箱修复失败怎么办 网易邮箱忘记密码怎么办 苹果忘记安全问题答案怎么办 手机被黑客盯上怎么办 qq邮箱被占用怎么办 淘宝邮箱被占用怎么办 LOL出现上载错误怎么办 本科论文格式有些错误怎么办 下载的压缩包打不开怎么办 下载好qq该怎么办 163邮箱云附件怎么办 iphone无法打开网页怎么办 qq不能下载文件怎么办 邮箱登录验证码怎么办 手机截图不了了怎么办 安装包己损坏怎么办 ktv没有的歌怎么办 oppo安装包损坏怎么办 微信软件包受损怎么办 魅族软件包损坏怎么办 安装包自动删除怎么办 apk文件损坏了怎么办 安装包发生错误怎么办 转发视频穿帮了怎么办 自拍神器死机了怎么办 电脑看视频死机怎么办 ios验证应用没用怎么办 宝宝不睡睡袋怎么办 酷我音乐收费怎么办 电脑版酷狗字体模糊怎么办 酷我切歌怎么办 快手暂不支持音乐格式怎么办 上传视频不清晰怎么办 MP4格式嫌大怎么办 课堂派怎么办改成考试 手机信息幕变黑怎么办 手机百度太耗电怎么办 电脑打不开主页面怎么办?