首页 > 其他分享 >static

static

时间:2022-08-26 08:34:01浏览次数:75  
标签:int ++ static test 全局变量 修饰

C语言中static的作用

 1 void test()
 2 {
 3     int b = 1;
 4     b++;
 5     printf("b=%d\n", b);
 6 }
 7 int main()
 8 {
 9     int a = 0;
10     while (a < 5)
11     {
12         test();
13         a++;
14     }
15     return 0;
16 }

在没有static修饰的情况下运行后的结果为

加入static后代码为

 1 void test()
 2 {
 3     static int b = 1;
 4     b++;
 5     printf("b=%d\n", b);
 6 }
 7 int main()
 8 {
 9     int a = 0;
10     while (a < 5)
11     {
12         test();
13         a++;
14 
15     }
16     return 0;
17 }

输出的结果为

说明:1.static修饰局部变量时,局部变量的生命周期延长

           2.static修饰全局变量时,将该会改变全局变量的作用域——使得静态的全局变量只能在自己所属于的源文件内部使用,出了原文件即便是使用extern也无法调用

           3.static也可以修饰函数,效果与修饰全局变量的效果相同

 

标签:int,++,static,test,全局变量,修饰
From: https://www.cnblogs.com/20030616phj/p/16626380.html

相关文章

  • 静态static关键字概述和修饰成员变量
    静态static关键字概述  静态static关键字修饰成员变量案例:Student7类:privateintid;privateStringname;privateintage;staticStringroom;privatestaticin......
  • php变量 global/static
    通常,函数内定义的变量,在函数内生效,函数执行完毕销毁global全局变量,函数外可以调用 functiontestGlobal(){  global$a;  $a=1;}//testGlobal();/......
  • Java学习 (24) 对象篇(04)static关键字
    目录static关键字语法实例代码块语法实例引用库语法实例static关键字static在类中修饰成员变量,在方法中则修饰成员方法static在属性中叫做静态属性,在方法中叫做静态......
  • Kubernetes学习笔记(十四):Static Pods
    kubelet依赖于kube-apiserver来获得关于在其node上加载哪些pod的指令,这是基于存储在etcd数据库中的kube-scheduler所做的决定。kubelet也可以独立运行,可以创建pod,可以指定......
  • C#中的static静态变量的用法
    静态局部变量定义:在局部变量前加上static关键字时,就定义了静态局部变量。特点:A、该变量在全局数据区分配内存。B、初始化:如果不显式初始化,那么将被隐式初始化为0......
  • 面向对象——补充:static
    static静态变量可以直接用类名访问,也称类变量静态变量(或方法)对于类,能被所有对象(实例)共享、publicclassStudent{privatestaticintage;privatedouble......
  • static关键字
    java中的static是跟类一起加载的有static关键字的我们称之为静态变量,或者是静态方法例如:publicclassStudent{privatestaticintage;//静态变量多线程priv......
  • 《JavaStudy38》static关键字详解
    static的属性和方法  代码块 ......
  • SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder"&&SLF4J: Defaulti
    最近刚搭建的一个项目,启动日志没有输出,报下面的错误,虽然能大概知道是少了日志实现包,但是具体那个还不确定。https://www.slf4j.org/codes.html#StaticLoggerBinder  在......
  • dotnet build error CS5001: Program does not contain a static 'Main' method suita
    前言Docker环境编译.Net6项目,出现诡异的CS5001Programdoesnotcontainastatic'Main'methodsuitableforanentrypoint排查从报错信息看是Program.csMain方......