extern int a与int a 有什么不同啊?

sonkey 2002-03-31 08:53:44
extern int a 是不是没有分配内存变量给a
而int a 就分配了内存给a

这样说对吗?

我看了《thinking of c++》英文2版的page 98~99后不明白的
请指教
...全文
1916 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
凌波微搏 2002-04-02
  • 打赏
  • 举报
回复
extern int a 表示 a是在其它文件中定义的一个变量,需要在这个文件中使用到.
a已在别的文件中,所以不需要再分配空间了
poly30 2002-04-02
  • 打赏
  • 举报
回复



应该是在编译的时候分配内存。(对于extern xx)。
about_it 2002-04-02
  • 打赏
  • 举报
回复
上面说错了
声明是不分配内存的
而定义是分配内存的

SORRY!SORRY!
about_it 2002-04-02
  • 打赏
  • 举报
回复
extern int a;//这是变量声明,是告诉编译器到该文件外部去找这个文件的定义
//定义是不分配内存的
int a;//这是变量定义,变量定义是分配空间的

定义只能有一处,但声明可有多处,这些声明所指,都是定义时分配的内存空间

以上是总结几本书的见解,望大家指教!

wiler 2002-04-02
  • 打赏
  • 举报
回复
完全同意 heartlove(吴竹)
linlm2002 2002-04-02
  • 打赏
  • 举报
回复
extern int a 说明变量a可以被外部的文件使用
而int a 说明变量a的使用范围为从定义的位置到文件的结束


ddszhan 2002-03-31
  • 打赏
  • 举报
回复
extern int a 是对变量的声明,而不是定义,该变量是其他文件中定义的,或是本文件中在该声明之后定义的全局变量。
qiwei 2002-03-31
  • 打赏
  • 举报
回复
大家都说的有道理,我来看看的。
heartlove 2002-03-31
  • 打赏
  • 举报
回复
extern int a 定义的a变量表示该变量在使用前已经定义了,一般有两种情况,一是该变量是在其他的文件中定义的全局变量,简称外部变量。二种情况表示变量在本文件中定义的全局变量,但是在使用之后(因为作用域)定义的。
jianfeizhao 2002-03-31
  • 打赏
  • 举报
回复
extern int a 表示 a是在其它文件中定义的一个变量,需要在这里引用。
a已在别的文件中,所以不需要再分配空间了
i_jianyong 2002-03-31
  • 打赏
  • 举报
回复
extern is used to declare a external variable, just as you have to declare a function prototype before you can using it. extern does not allocate memory for the variable.
LQCST 2002-03-31
  • 打赏
  • 举报
回复
extern 是引用外部变量,这个a是在此文件外定义的。
int a 是本文件自己定义的。
love_dawn 2002-03-31
  • 打赏
  • 举报
回复
extern int a 好象是说变量a已经在文件外部定义了

15,445

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧