博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言中static的使用
阅读量:6238 次
发布时间:2019-06-22

本文共 632 字,大约阅读时间需要 2 分钟。

在开发过程中。我们常常会须要定义一些static类型的变量或者函数。我们接下来来详细聊一下static;

1、修饰变量

     当static来修饰一个变量时,就注定了这个变量的可见范围和生命周期;

     (1)当修饰全局变量时

             static int flag1 = 0;

             int flag2 = 0;

             这两个变量存储在全局数据区。flag1仅仅在本文件可见。其它文件里不可见;flag2可在其它文件里通过声明extern int flag2来使用;

      (2)当修饰局部变量时

             void fun(void){

              static int temp1;

               int temp2 = 0;

               ......................

               return;

               }

              函数中。temp1为局部静态变量,存储在全局数据区,temp2为局部变量。存储在栈上;可是随着函数的退出。temp2的生命周期也就结束。可是temp1依旧有效。仅仅不       过可见范围为本函数内。下次再次进入本函数时,对temp1的不论什么改动都是在上次改动的基础上进行。也就是说temp1有记忆性。

2、修饰函数

     static修饰的函数主要是在本文件里使用的函数。不正确外提供,Linux内核中的不论什么文件里都有此类型的静态函数。

     static inline void  enable_noirq(void){

      ................

      }

      使用static修饰函数的优点就是。全部文件能够定义同名的函数,不用考虑重名导致的编译报错;

转载地址:http://obzia.baihongyu.com/

你可能感兴趣的文章
在Kotlin中使用Gradle构建缓存
查看>>
PHP扩展库PEAR被攻击,近半年下载者或被影响
查看>>
Kubernetes上领先的开源Serverless解决方案有哪些
查看>>
Spark灰度发布在十万级节点上的实践
查看>>
干净架构在 Web 服务开发中的实践
查看>>
中国平安“豪赌”科技?从产险业务IT变形计聊起
查看>>
百度云BaaS体系揭秘,突破共识机制、单机计算和串行处理三大瓶颈
查看>>
将团队迁移到可视化项目管理软件
查看>>
微软Edge扩展工具箱旨在将Chrome扩展带至Edge
查看>>
北大AI公开课2019 | 驭势科技吴甘沙:AI时代的自动驾驶趋势
查看>>
移动互联网下半场,iOS开发者如何“高薪”成长?
查看>>
Docker4Dev #7 新瓶装老酒 – 使用 Windows Container运行ASP.NET MVC 2 + SQLExpress 应用
查看>>
亚马逊一口气发布了9款机器学习产品
查看>>
Visual Studio 2017 15.9 Previews扩展C++调试功能
查看>>
别了MongoDB?
查看>>
Codeweavers的丰田模式
查看>>
【译文】Node.js官方文档(前言&目录)
查看>>
用关系型NoSQL回到未来
查看>>
Kotlin 1.2引入多平台项目特性
查看>>
隐私和安全是macOS Mojave和Safari 12的第一要务
查看>>