社区
C语言
帖子详情
请问:a是extern 还是static的
bin00
2003-10-16 11:13:03
我在文件的开头,函数的外面写
int a;
请问:a是extern 还是static的
...全文
32
12
打赏
收藏
请问:a是extern 还是static的
我在文件的开头,函数的外面写 int a; 请问:a是extern 还是static的
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunjx119
2003-11-01
打赏
举报
回复
static
l 静态变量作用范围在一个文件内,程序开始时分配空间,结束时释放空间,默认初始化为0,使用时可改变其值。
2 静态变量或静态函数,即只有本文件内的代码才可访问它,它的名字(变量名或函数名)在其它文件中不可见。
extern
l 声明变量或函数为外部链接,即该变量或函数名在其它文件中可见。被其修饰的变量(外部变量)是静态分配空间的,即程序开始时分配,结束时释放。用其声明的变量或函数应该在别的文件或同一文件的其它地方定义(实现)。在文件内声明一个变量或函数默认为可被外部使用。
luhuayi
2003-11-01
打赏
举报
回复
默认是EXTERN
yaoxinyan
2003-11-01
打赏
举报
回复
在C++里,
int a;
相当于:
int a=0;
很明显,a的linkage是external的。
在C里,
int a;
是暂时定义,由于不可能在其它地方再出现下面的语句:
static int a;
所以a的linkage同样是external的。
不过我们可以在同一文件多写几次:
int a;
int a;
int a=1;
当然,其中只能有一个含初始化部分。
teddyzhai
2003-10-31
打赏
举报
回复
我的认为EXTERN 只是申明,而STATIC有点申明加付初植了
litant919
2003-10-31
打赏
举报
回复
a存储在静态数据区中,但不能说是extern还是static,
williamVII
2003-10-16
打赏
举报
回复
C中默认为extern,
C++中为static.
Weigehoho
2003-10-16
打赏
举报
回复
同意楼上的
liem
2003-10-16
打赏
举报
回复
在函数外定义的变量,其默认的存储类别为extern。就象我们定义的函数是extern 一样。
zhumerchant
2003-10-16
打赏
举报
回复
当然是extern了,默认的
有static修饰的变量才是静态变量
daizh
2003-10-16
打赏
举报
回复
a对于其他文件来说是extern,可以通过extern a;来调用。它不是static,要它是static必须这样定义:static int a;
smans
2003-10-16
打赏
举报
回复
it is extern.
houdy
2003-10-16
打赏
举报
回复
要注意区分定义和声明:你可以在一个文件中定义一个全局变量int a=0;(不用赋值也可以,全局变量默认赋值0)。如果你在另一个文件中需要使用这个变量,你要在文件前面这样声明:
extern int;编译看这个声明,就认为这个变量在某个地方定义了,当用到这个变量的时候,到那个地方找就是了,如果没有用extern 这个关键子,可能会出现重复定义或找不到定义的情况的。
static其中的一个作用就是,当你声明一个变量或函数是static的时候,他只在这个文件中有效,也就是说他有"file scope".在其他的文件中无效。当然static 还有其他的作用。
C++ :
static
和
extern
的用法总结
1.
static
关键字 1.1 函数和变量声明(C/C++)
static
全局变量: 当声明一个
static
全局变量,则表示静态全局变量,和其他变量一样,存放在.data(初始化了)或者.bss(未初始化)内,但只在定义它的源文件中...
【C语言】:
static
和
extern
的详细介绍和使用
static
和
extern
都是C语言中的关键字。
static
是静态的意思。
static
和
extern
的作用
问题:
static
和
extern
修饰变量和函数时有什么作用?请举例说明。
static
简单来说,
static
关键字有两个作用: 限制变量的作用域 设置变量的存储域 具体来说,在不同的使用场景有不同的表现。(函数名也是变量...
extern
和
static
的用法
一:
static
static
有两种使用:一种是修饰变量,另一种是修饰函数 1.修饰变量:作用是使得该变量在出了其作用范围后不会被销毁 第一种是修饰局部变量: 普通的局部变量是存储在栈区的,但是通过
static
修饰...
浅析
extern
和
static
的区别
区分
static
和
extern
的区别。了解
static
基本用法。了解
extern
基本用法。掌握
extern
的特性。学会
static
的要点。
C语言
69,374
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章