查看“C extern声明”的源代码
←
C extern声明
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
外部声明extern用于引用全局变量,该全局变量的主声明在其他地方——在同一模块中,或在另一个编译模块中。它是这样的: extern basetype decorated-variable; 它的含义是,在当前作用域中,变量名指的是该名称的文件作用域变量——它需要在其他地方以非外部、非静态的方式声明。 例如,如果一个编译模块有这个全局变量声明 int error_count = 0; 然后其他编译模块可以指定它 extern int error_count; 允许引用同一变量。 通常编写外部声明的位置是在源文件的顶层,但是您可以在块中编写外部声明,以便在该块中访问全局或静态文件作用域变量。 由于extern声明不为变量分配空间,因此可以省略数组的大小: extern int array[]; 可以在自动转换为指针的所有上下文中正常使用array。然而,使用它作为sizeof的操作数是错误的,因为它的大小是未知的。 对于相同的变量,即使在相同的作用域中,如果它们给出相同的类型,那么对它们进行多个外部声明也是有效的。他们并不冲突——他们是一致的。对于数组,某些外部声明可以指定大小,而其他外部声明可以省略它,这是合法的。但是,如果两个声明给出不同的大小,则会产生错误。 同样,您可以在文件作用域中使用外部声明(参见文件作用域变量),然后对同一变量进行普通的全局(非静态)声明。它们并不冲突,因为它们对变量的相同含义说了兼容的东西。
返回至“
C extern声明
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
基础知识
正则表达式
Markdown
分布式
项目管理
系统集成项目管理基础知识
云原生
Docker
云原生安全
云原生词汇表
十二因素应用
Kubernetes
音频处理
音频合成
Edge-tts
CMS系统
Docsify
VuePress
Mediawiki
自动生成
Marp
CI/CD
GitLab
设计
颜色
平面设计
AI
数字人
操作系统
GNU/Linux
数据库
Mysql
工具
链入页面
相关更改
特殊页面
页面信息