函数 6.6.2 全局变量《C/C++语言程序设计基础》同步教学课件

2023-08-07
| 15页
| 137人阅读
| 0人下载
精品

内容正文:

第6章 函数 6.1函数概述 6.2函数的定义和说明 6.3函数的调用 6.4函数的参数 6.6变量的存储类型 6.5函数的嵌套调用与递归调用 大学C/C++语言程序设计程序设计 第6章 函数 6.6.4 全局变量 当变量定义放在函数体外时,该变量就称为全局变量,全局变量也称为外部变量。 1. 全局变量不属于任何一个函数,其作用域是:从全局变量的定义位置开始,到本文件结束为止。 2.全局变量可为各函数所共享,所以函数之间交流数据可以使用全局变量。 3. 全局变量如果只是定义而没有初始化,则自动赋0或‘\0’ 大学C/C++语言程序设计程序设计 第6章 函数 int a, b; void swap( ) { int t; t = a; a = b; b = t; printf(“swap:a=%d,b=%d ”,a,b); } main() { a=3; b=5; swap( ); printf (“main:a=%d,b=%d”,a,b); } 例9.全局变量应用 a,b有效 t有效 大学C/C++语言程序设计程序设计 第6章 函数 int a, b; void swap( ) { int t; t = a; a = b; b = t; printf(“swap:a=%d,b=%d ”,a,b); } main() { a=3; b=5; swap( ); printf (“main:a=%d,b=%d”,a,b); } swap:a=5,b=3 main:a=5,b=3 运行结果 例9.全局变量应用 大学C/C++语言程序设计程序设计 第6章 函数 特别注意: 1. 全局变量之间不能重名,但允许全局变量与某个函数内部的局部变量重名; 2. 当一个局部变量与全局变量重名时,我们访问该变量是指的访问局部变量还是全局变量呢? 在函数内部对变量的访问是指对局部变量的访问,也就是说,在函数体内部,局部变量与全局变量重名时,全局变量暂时失去作用(全局变量被屏蔽)。 大学C/C++语言程序设计程序设计 第6章 函数 例1:请输出下面程序的输出结果_________。 #include<stdio.h> int m=13; //m 为全局变量 int fun2(int x,int y) { int m=3; ; //m 为局部变量 return(x*y-m); } main( ) { int a=7,b=5; printf("%d ",fun2(a,b)/m); } 2 课堂练习: 全局变量、局部变量同名,在fun2函数内使用局部变量,在函数使用全局变量 大学C/C++语言程序设计程序设计 第6章 函数 2 例1: 外部变量定义与说明 int main() { printf("max=%d",max(a,b));} int a=13,b=-8; /*外部变量定义*/ int max(int x, int y) {int z; z=x>y?x:y; return(z); } ?如何延伸全局变量的作用域 大学C/C++语言程序设计程序设计 第6章 函数 全局变量问题: 当全局变量定义在后,引用它的函数在前时,如何使用该全局变量?这就需要把该全局变量的作用域延伸至该函数; C语言可通过外部变量说明达到此目的。 外部变量说明: extern 数据类型 变量表; 大学C/C++语言程序设计程序设计 第6章 函数 例1: 外部变量定义与说明 int main() { printf("max=%d",max(a,b));} int a=13,b=-8; /*外部变量定义*/ int max(int x, int y) {int z; z=x>y?x:y;

资源预览图

函数 6.6.2 全局变量《C/C++语言程序设计基础》同步教学课件
1
函数 6.6.2 全局变量《C/C++语言程序设计基础》同步教学课件
2
函数 6.6.2 全局变量《C/C++语言程序设计基础》同步教学课件
3
函数 6.6.2 全局变量《C/C++语言程序设计基础》同步教学课件
4
函数 6.6.2 全局变量《C/C++语言程序设计基础》同步教学课件
5
函数 6.6.2 全局变量《C/C++语言程序设计基础》同步教学课件
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。