gpt4 book ai didi

c - 全局声明的变量是外部变量还是静态变量?

转载 作者:太空宇宙 更新时间:2023-11-04 08:56:29 27 4
gpt4 key购买 nike

我在c中研究过,使用关键字extern的变量是外部引用的
例如:
Prog1.c
main(){<br/>
extern int a ;<br/>
a=2;<br/>
}

Prog2.c
int a=3;
这两个程序一起成功编译。这是否意味着 Prog2.c 中的变量 a 也具有外部链接(外部引用)??

但在 dennis ritchie pg-195 section a4.1 中写道,在所有 block 外声明的对象,与函数定义处于同一级别,始终是静态的,我认为静态意味着内部链接,所以在以上程序?

最佳答案

By default, an object or variable that is defined outside all blocks 
has static duration and external linkage.

静态持续时间是指对象或变量在程序启动时分配,在程序结束时释放。外部链接意味着变量的名称从声明变量的文件外部可见。相反,内部链接意味着名称在声明变量的文件之外是不可见的。

关于c - 全局声明的变量是外部变量还是静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16729522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com