zoukankan      html  css  js  c++  java
  • C语言中static的使用

    在开发过程中。我们常常会须要定义一些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修饰函数的优点就是。全部文件能够定义同名的函数,不用考虑重名导致的编译报错;

  • 相关阅读:
    传统 Ajax 已死,Fetch 永生
    redux-thunk, redux-logger 阮一峰 ( react中间件 )
    flow类型检查
    svn删除项目
    svn导入项目
    ubantu搭建svn
    惠普uefi装系统
    win7跳过登陆界面
    phpstorm配置Xdebug进行调试PHP教程
    jquery 给下拉框赋值
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6964800.html
Copyright © 2011-2022 走看看