C/C++中static关键字的作用

作用一:隐藏

作为变量和函数的前缀

使作用的变量或函数对其他源文件起到隐藏、避免命名冲突的作用。

作用二:完成一次初始化

作为函数内局部变量的前缀

1、与全局变量相同,都位于静态数据区中,不同的是:该变量全局不可见,出了函数,外部看不到。

2、使该变量只进行一次初始化,并且在函数执行完毕后,仍然存储该变量的值。

例如:

#include

int count(){

static int count = 10;

//变量count只被初始化一次,值为10

return count--;

//接下来,每次调用一次count(),count值会自减1,并且保存最后一次的值,即使函数执行完毕,该值仍旧存储在函数内,只不过外部无法访问罢了。

}

int main(void)

{

for(int i=0 ;i < 5; ++i)

printf("%d\n", count());

return 0;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,754评论 0 38
  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,357评论 0 33
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,088评论 19 139
  • 天晴了,太阳暖暖的,股股寒风袭来,带来阵阵凉意。风绕过脚踝你可以真切的感觉到,它渗进皮肤进入关节的那种凉意。...
    情感别致的疯子_GL阅读 3,030评论 0 3
  • 午饭与孩子们吃完饭,淼淼帮我查了去磐基酒店的路程,走路约半个小时,所以我决定走路去。我1点就到达了名品中心,...
    西畔阅读 1,778评论 0 0

友情链接更多精彩内容