函数 6.6.1 变量的存储类型《C/C++语言程序设计基础》同步教学课件

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

内容正文:

第6章 函数 6.1函数概述 6.2函数的定义和说明 6.3函数的调用 6.4函数的参数 6.6变量的存储类型 6.5函数的嵌套调用与递归调用 大学C/C++语言程序设计程序设计 第6章 函数 6.6 变量的存储类型 大学C/C++语言程序设计程序设计 第6章 函数 #include <stdio.h> void swap(int a,int b) { int temp; temp=a; a=b; b=temp; printf("%d,%d ",a,b); } main() { int x=10,y=30; printf("%d,%d ",x,y); swap(x,y); printf("%d,%d ",x,y); } 举例:写出下列程序运行结果。 运行情况如下: 10,30 30,10 10,30 a,b,temp 在swap函数调用时分配内存,得到实参的值, swap函数调用结束,内存被收回。 a,b,temp只在swap函数内有效,在函数执行时间内存在 大学C/C++语言程序设计程序设计 第6章 函数 问题: 能不能设置变量可以在程序运行期内一直存在?有没有变量能在所有函数中通用呢? 没问题的! 答案就是设置变量的存储类型 大学C/C++语言程序设计程序设计 第6章 函数 6.6.1变量的生存期和作用域 大学C/C++语言程序设计程序设计 第6章 函数 6.6.2 变量的存储类型 大学C/C++语言程序设计程序设计 第6章 函数 完整的变量定义: [存储特性] 数据类型 变量名; 1变量的存储特性 自动型 auto(默认存储类型) 寄存器型 register(很少用) 外部型 extern 静态型 static 静态存储 动态存储 大学C/C++语言程序设计程序设计 第6章 函数 局部变量分为: 自动局部变量、静态局部变量 大学C/C++语言程序设计程序设计 第6章 函数 1.自动局部变量(auto) 函数中的局部变量,不做任何存储类别的说明都为自动变量。 定义形式:[auto] 类型说明符 变量名; 说明: •自动变量必须在一个函数体的内部。 •自动变量不赋初值,其值不确定。每调用一次,重新赋值一次。 •函数的形参也是自动变量。 •“自动”体现在进入语句块时自动申请内存,退出时自动释放内存; 函数体内的自动变量在函数内有效; 复合语句的自动变量在复合语句里有效。 大学C/C++语言程序设计程序设计 第6章 函数 float f1(auto int a) { auto int b,c; ……. } main() {auto int m,n; ….. {auto int s ,t; ….. } ……. } a,b,c有效 s,t有效 m,n有效 大学C/C++语言程序设计程序设计 第6章 函数 void swap(int a,int b ) { auto int t; t = a; a = b; b = t; printf("swap:a=%d,b=%d ",a,b); } main() { auto int x,y; x=3; y=5; swap( x,y); swap( x,y); printf ("main:x=%d,y=%d",x,y); } 例1 .auto局部变量 swap:a=5,b=3 swap:a=5,b=3 main:x=3,y=5 大学C/C++语言程序设计程序设计 第6章 函数 例2 求下列程序的运行结果 (复合语句内部变量) int main() { int a, b, c; a=1; b=2; c = a+b; { in

资源预览图

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