C语言局部变量、全局变量、静态局部变量、静态全局变量
建立三个文件,文件名分别为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语言局部变量、全局变量、静态局部变量、静态全局变量相关推荐
- c 全局变量多线程调用_c语言局部变量 静态局部变量 全局变量与静态全局变量...
基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...
- 【C语言局部变量/静态局部变量/全局变量与静态全局变量
1基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...
- c语言局部变量 静态局部变量 全局变量与静态全局变量
基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...
- c语言中全局变量多线程调用-局部变量、静态局部变量、全局变量与静态全局变量分析
基本概念: 作用域:起作用的区域,也就是可以工作的范围. 代码块:所谓代码块,就是用{}括起来的一段代码. 数据段:数据段存的是数,像全局变量就是存在数据段的 代码段:存的是程序代码,一般是只读的. ...
- 【C语言】局部变量、全局变量,局部静态变量,全局静态变量,extern,static的区别...
局部变量: 创建在栈区(向下生长),生命周期存在于当前作用域中. 创建时若未初始化,则为随机值. 全局变量: 创建在static区,生命周期一直存在. 创建时若未初始化,则为0. 静态局部变量 ...
- c语言字面量的作用是为变量,C语言(五) C 全局变量,局部变量,静态变量和常量...
一. 全局变量 全局变量是在所有函数体的外部定义的,程序的所有部分(其他文件的代码)都可以使用.全局变量不受作用域的影响.全局变量的生命周期一直到程序的结束,全局变量是静态存储方式. 例: #incl ...
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的区别 (转)
1.C++变量根据定义的位置的不同的生命周期,具有不同的作用域,作用域可分为6种: 全局作用域,局部作用域,语句作用域,类作用域,命名空间作用域和文件作用域. 从作用域看: 1>全局变量具有全局 ...
- c语言的局部变量,全局变量及静态局部变量和静态全局变量
局部变量 在函数的开头定义 在函数内的符合语句内定义 作用范围 在包含该局部变量的函数内有效 一个函数内部,可以在复合函数语句中定义变量,这些变量只在本复合语句中有效,这种符合语句称为分程序或程序块 ...
- 静态全局变量与静态局部变量在C语言中的赋值
静态全局变量 作用域仅限于变量被定义的文件中,其他文件即使用 extern 声明也没法使用他.准确地说作用域是从定义之处开始,到文件结尾处结束,在定义之处前面的那些代码行也不能使用它.想要使用就得在前 ...
- C语言中全局变量、局部变量、静态全局变量、静态局部变量的含义
int a = 0; //全局变量 static int a=0; //静态全局变量 void func() { int b; //局部变量static int b; //静态局部变量 } 全局变量: ...
最新文章
- [转载zz] Python3 输入和输出之序列化与反序列化
- 已解决:Connecting to raw.githubusercontent.com |185.199.109.133|:443... Unable to establish SSL connect
- ajax传递数组后台接收不到值的问题
- 开发自己的 chart - 每天5分钟玩转 Docker 容器技术(167)
- Unity3d(U3D) Windows/Android/IOS 播放rtmp/rtsp方案
- 娓娓道来Promise
- C++11中range-based for loops中与的区别
- mysql慢日志管理
- 自研云原生数据仓库AnalyticDB再破权威评测TPC-DS世界纪录
- thinkphp模板常用的方法
- intellij idea rearrange code
- UVA1584 UVALive3225 Circular Sequence【水题】
- cml sml区别_如何简单清晰地描述 CAPM 在投资学中的运用,以及 CAL、CML 和 SML 的关系和区别?...
- 网游中的网络编程3:在UDP上建立虚拟连接
- Dijkstra算法(matlab实现)
- Delphi 的并行计算
- 深圳学校积分计算机,深圳积分入户初级计算机证书,居然也能积这么多分!
- SVC vs SVR
- 如何将宿主机工作文件夹映射到vmware虚拟机内
- 洞察问题本质的思维,你知道吗?
热门文章
- 【2019.08.23】2019CCPC网络赛
- Spring Boot动态修改日志级别
- MFC中开发ocx控件,html容器收不到ocx的事件Event
- 类名引用static变量好处
- ArcEngine中实现对符号的预览图输出
- 获取请求消息行信息案例代码
- pdo mysql 事务_PHP PDO对象如何确定它是否已经存在于MySQL事务中?
- python如何监听toast提示信息_python 怎样获取toast?
- 未签名的应用程序请求对系统进行无限制访问_OWASP Top 10 2017 10项最严重的 Web 应用程序安全风险 (完结篇)...
- c# webclient 保存会话信息_会话保持机制cookie和session