【发布时间】:2016-03-04 20:39:54
【问题描述】:
断定变量声明的唯一类型是“外部声明”是否合理?
众所周知,以下代码 define(不是 declare)x,因为它为变量 x 分配内存(KR 第 4 章)。但通常情况下,我们通常只会说我们正在声明 x(但不初始化它)。
int x; // <-- definition NOT declaration
我能找到的唯一声明示例是使用关键字extern:
extern int x;
extern int a[];
除了extern声明还有其他变量声明的情况吗?
【问题讨论】:
-
我不确定我是否完全理解您的问题。但也有一个
static声明。 -
int x;是一个声明。 (所有定义都是声明)。也许您的意思是问“extern是编写不是定义的声明的唯一方法吗?”之类的。 -
@M.M 是的,这正是我的 Q - 让我根据你的 cmmt 改写标题,谢谢
-
Funktions 可以用内部链接声明(使用 static 关键字)。您不必使用 external 关键字,但函数声明仍将具有外部链接。您可以声明具有局部作用域的函数(在块内),但仍然是外部链接。
-
@PeterA.Schneider 问题是关于变量的 - 但感谢有关函数的信息
标签: c