你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【3.8签到】每日问答——static函数与普通函数有什么区别    关闭

[复制链接]
苏柚 提问时间:2016-3-8 08:55 /
收藏 评论118 发布时间:2016-3-8 08:55
118个回答
wudianjun2001 回答时间:2016-3-8 08:57:26
签到签到
荣丰宇 回答时间:2016-3-8 09:42:55
static函数与普通函数的区别:
  用static修饰的函数,本限定在本源码文件中,不能被本源码文件以外的代码文件调用。而普通的函数,默认是extern的,也就是说,可以被其它代码文件调用该函数。
  在函数的返回类型前加上关键字static,函数就被定义成为静态函数。普通 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。因此定义静态函数有以下好处:
  <1> 其他文件中可以定义相同名字的函数,不会发生冲突。
  <2> 静态函数不能被其他文件所用。

以上内容来自百度~
lkl0305 回答时间:2016-3-8 22:48:46
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,
但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这
个函数被限制在声明它的模块的本地范围内使用。
loyi 回答时间:2016-3-8 17:39:29
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,
但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这
个函数被限制在声明它的模块的本地范围内使用。
anobodykey 回答时间:2016-3-8 08:57:55
static函数只能由本文件内的函数调用,外部文件无法调用该函数,对不?
dream12 回答时间:2016-3-8 09:01:29
签到签到
aszrf 回答时间:2016-3-8 09:01:46
anobodykey 发表于 2016-3-8 08:57
static函数只能由本文件内的函数调用,外部文件无法调用该函数,对不?

应该是对的
烟花绽放 回答时间:2016-3-8 09:01:55
签到签到
aszrf 回答时间:2016-3-8 09:03:37
1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,
但不能被模块外其它函数访问。它是一个本地的全局变量。
3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这
个函数被限制在声明它的模块的本地范围内使用。
fyaocn 回答时间:2016-3-8 09:03:53
hbzjt2012 回答时间:2016-3-8 09:05:38
签到     
disheng4688 回答时间:2016-3-8 09:06:48
签到签到
freeelectron 回答时间:2016-3-8 09:08:48
概念有些模糊!!!
creep 回答时间:2016-3-8 09:09:21
                        
xuguomin 回答时间:2016-3-8 09:10:10

签到签到
ropepeng 回答时间:2016-3-8 09:11:16
static函数只能在当前文本内使用
adlu 回答时间:2016-3-8 09:13:07
static函数仅限本文件内的函数调用
feiante 回答时间:2016-3-8 09:13:12
签到                       

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版