1、被申明的函数或值无法被其他源文件使用

2.static的第二个作用是保持变量内容的持久。(static变量中的记忆功能和全局生存期)

存储在静态数据区的变量会在程序刚开始运行时就完成初始化,也是唯一的一次初始化。共有两种变量存储在静态存储区:全局变量和static变量,只不过和全局变量比起来,static可以控制变量的可见范围,说到底static还是用来隐藏的。虽然这种用法不常见

PS:如果作为static局部变量在函数内定义,它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。

#include <stdio.h>

int fun(){
static int count = ; //在第一次进入这个函数的时候,变量a被初始化为10!并接着自减1,以后每次进入该函数,a
return count--; //就不会被再次初始化了,仅进行自减1的操作;在static发明前,要达到同样的功能,则只能使用全局变量: } int count = ; int main(void)
{
printf("global\t\tlocal static\n");
for(; count <= ; ++count)
printf("%d\t\t%d\n", count, fun());//局部变量statuc申明的变量和全局的不是同一个变量
return ;
}

3.static的第三个作用是默认初始化为0(static变量)

最新文章

  1. Spring源码分析——BeanFactory体系之接口详细分析
  2. Angular JS 学习之Bootstrap
  3. Hdu 5493 合肥网络赛 1010 Queue
  4. oracle 异常
  5. 树莓派安装RASPBIAN系统
  6. 软引用SoftReference异步加载图片
  7. sql server 脚本创建数据库邮件
  8. BZOJ 1861 书架
  9. 在MVC中利用uploadify插件实现上传文件的功能
  10. JSP中的Attribute和InitParameter
  11. Android ListView 删除动画
  12. DB2 VC++ 中连接字符串
  13. Web版RSS阅读器(二)——使用dTree树形加载rss订阅分组列表
  14. Angular开发实践(六):服务端渲染
  15. mint-ui笔记
  16. 【Linux】文件IO --- sync、fsync、fdatesync
  17. 在SoapUI中模拟用户操作
  18. toString() 和 强制类型转换 (String)
  19. 协程,greenlet,gevent
  20. 2.8 C++参数初始化表

热门文章

  1. Python从入门到精通视频(全60集)✍✍✍
  2. SolrCloud6.1.0之SQL查询测试
  3. Thread-per-Message 这个工作交给你了
  4. nginx 知识
  5. UC浏览器禁止图片阅读模式处理方法
  6. [JZOJ3362] 【NOI2013模拟】数数
  7. python2与python3编码(练习)
  8. SpringBoot生产/开发/测试多环境的选择
  9. Oracle闪回查询恢复delete删除数据
  10. duilib库分析2.第一篇UIManager