建立三个文件,文件名分别为main.c \ head1.c \  head2.c

main.c

#include<stdio.h>
#include<stdlib.h>
#include<string.h>int A;void show(){volatile static int a ;//静态局部变量(static) 静态局部变量定义时前面加static关键字。a++;f1(a);f2(a);//printf("show: B = %d\n",B);
}void main(int *argv, char *args[]){show();show();show();show();int c;static int b = 10;
}

head1.c

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
static int B ;
int A;
void f1(int a){A++,B++;printf("head1.h:f1(%d), A = %d, B = %d\n",a,A,B);}

head2.c

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
static int B;
int A;
void f2(int a){A += 2, B += 2;printf("head2.h:f2(%d), A = %d, B = %d\n",a,A,B);}

编译与运行结果:

-bash-4.1$ gcc -o a Demo.c head*.c
-bash-4.1$ ./a
head1.h:f1(1), A = 1, B = 1
head2.h:f2(1), A = 3, B = 2
head1.h:f1(2), A = 4, B = 2
head2.h:f2(2), A = 6, B = 4
head1.h:f1(3), A = 7, B = 3
head2.h:f2(3), A = 9, B = 6
head1.h:f1(4), A = 10, B = 4
head2.h:f2(4), A = 12, B = 8
-bash-4.1$

C语言局部变量、全局变量、静态局部变量、静态全局变量相关推荐

  1. c 全局变量多线程调用_c语言局部变量 静态局部变量 全局变量与静态全局变量...

    基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...

  2. 【C语言局部变量/静态局部变量/全局变量与静态全局变量

    1基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...

  3. c语言局部变量 静态局部变量 全局变量与静态全局变量

    基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...

  4. c语言中全局变量多线程调用-局部变量、静态局部变量、全局变量与静态全局变量分析

    基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...

  5. 【C语言】局部变量、全局变量,局部静态变量,全局静态变量,extern,static的区别...

    局部变量: 创建在栈区(向下生长),生命周期存在于当前作用域中.     创建时若未初始化,则为随机值. 全局变量: 创建在static区,生命周期一直存在. 创建时若未初始化,则为0. 静态局部变量 ...

  6. c语言字面量的作用是为变量,C语言(五) C 全局变量,局部变量,静态变量和常量...

    一. 全局变量 全局变量是在所有函数体的外部定义的,程序的所有部分(其他文件的代码)都可以使用.全局变量不受作用域的影响.全局变量的生命周期一直到程序的结束,全局变量是静态存储方式. 例: #incl ...

  7. C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)

    1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域. 从作用域看: 1>全局变量具有全局 ...

  8. c语言的局部变量,全局变量及静态局部变量和静态全局变量

    局部变量 在函数的开头定义 在函数内的符合语句内定义 作用范围 在包含该局部变量的函数内有效 一个函数内部,可以在复合函数语句中定义变量,这些变量只在本复合语句中有效,这种符合语句称为分程序或程序块 ...

  9. 静态全局变量与静态局部变量在C语言中的赋值

    静态全局变量 作用域仅限于变量被定义的文件中,其他文件即使用 extern 声明也没法使用他.准确地说作用域是从定义之处开始,到文件结尾处结束,在定义之处前面的那些代码行也不能使用它.想要使用就得在前 ...

  10. C语言中全局变量、局部变量、静态全局变量、静态局部变量的含义

    int a = 0; //全局变量 static int a=0; //静态全局变量 void func() { int b; //局部变量static int b; //静态局部变量 } 全局变量: ...

最新文章

  1. [转载zz] Python3 输入和输出之序列化与反序列化
  2. 已解决:Connecting to raw.githubusercontent.com |185.199.109.133|:443... Unable to establish SSL connect
  3. ajax传递数组后台接收不到值的问题
  4. 开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)
  5. Unity3d(U3D) Windows/Android/IOS 播放rtmp/rtsp方案
  6. 娓娓道来Promise
  7. C++11中range-based for loops中与的区别
  8. mysql慢日志管理
  9. 自研云原生数据仓库AnalyticDB再破权威评测TPC-DS世界纪录
  10. thinkphp模板常用的方法
  11. intellij idea rearrange code
  12. UVA1584 UVALive3225 Circular Sequence【水题】
  13. cml sml区别_如何简单清晰地描述 CAPM 在投资学中的运用,以及 CAL、CML 和 SML 的关系和区别?...
  14. 网游中的网络编程3:在UDP上建立虚拟连接
  15. Dijkstra算法(matlab实现)
  16. Delphi 的并行计算
  17. 深圳学校积分计算机,深圳积分入户初级计算机证书,居然也能积这么多分!
  18. SVC vs SVR
  19. 如何将宿主机工作文件夹映射到vmware虚拟机内
  20. 洞察问题本质的思维,你知道吗?

热门文章

  1. 【2019.08.23】2019CCPC网络赛
  2. Spring Boot动态修改日志级别
  3. MFC中开发ocx控件,html容器收不到ocx的事件Event
  4. 类名引用static变量好处
  5. ArcEngine中实现对符号的预览图输出
  6. 获取请求消息行信息案例代码
  7. pdo mysql 事务_PHP PDO对象如何确定它是否已经存在于MySQL事务中?
  8. python如何监听toast提示信息_python 怎样获取toast?
  9. 未签名的应用程序请求对系统进行无限制访问_OWASP Top 10 2017 10项最严重的 Web 应用程序安全风险 (完结篇)...
  10. c# webclient 保存会话信息_会话保持机制cookie和session