《C语言教程》课程PPT教学课件:变量存储类别

变量存储类别 动态存储方式和静态存储方式 从变量值存在的时间角度来分,可以 分为动态存储方式和静态存储方式 静态存储方式 程序在运行期间分配固定的存储空间 的方式 动态存储方式 在程序运行期间根据需要进行动态的 分配存储空间的方式
变量存储类别 • 动态存储方式和静态存储方式 从变量值存在的时间角度来分,可以 分为动态存储方式和静态存储方式 ----静态存储方式 程序在运行期间分配固定的存储空间 的方式 ----动态存储方式 在程序运行期间根据需要进行动态的 分配存储空间的方式

变量存储类别 通常存储空间可以分为三个部分 1程序区:用语存放程序代码 2静态存储区:用来存放全局变量等 数据,在程序开始执行时就给变量分配 存储区域,直到程序运行结束才释放存 储空间,在程序执行过程中,这些变量 始终占据固定的内存单元
变量存储类别 通常存储空间可以分为三个部分: 1.程序区:用语存放程序代码 2.静态存储区:用来存放全局变量等 数据,在程序开始执行时就给变量分配 存储区域,直到程序运行结束才释放存 储空间,在程序执行过程中,这些变量 始终占据固定的内存单元

变量存储类别 3动态存储区域存放以下数据 函数形式参数 在调用函数时临时分配存储空间给 形式参数,函数调用完毕,则释放存储 空间 自动变量(未加 static声明的局部变 量) 函数调用时的现场保护和返回地址
变量存储类别 3.动态存储区域存放以下数据 ----函数形式参数 在调用函数时临时分配存储空间给 形式参数,函数调用完毕,则释放存储 空间 ----自动变量(未加static声明的局部变 量) ----函数调用时的现场保护和返回地址

变量存储类别 注意: 存储在动态存储区的变量都是在函数 或过程调用时,临时分配存储空间,函 数调用完毕就释放存储空间 如果多次调用函数,则可能多次给这 类变量分配存储空间,它们的生命周 期并不是整个程序运行期
变量存储类别 注意: 存储在动态存储区的变量都是在函数 或过程调用时,临时分配存储空间,函 数调用完毕就释放存储空间。 如果多次调用函数,则可能多次给这 一类变量分配存储空间,它们的生命周 期并不是整个程序运行期

变量存储类别 二·C语言中的存储类别有 1.自动的(auto) 2.静态的( static 3.寄存器( register) 4外部的( extern)
变量存储类别 • C语言中的存储类别有 1.自动的(auto) 2. 静态的(static) 3. 寄存器(register) 4.外部的 (extern)

变量存储类别 auto变量 函数中的局部变量,如果没有声明为 static存 储类别都为自动变量 关键字auto可以省略不写,如果不写 static关 键字,则系统默认其前面是auto关键字 例如:在函数体内定义变量 int a.b.c auto int a b,c;两种方式是完全等价的
变量存储类别 ----auto变量 函数中的局部变量,如果没有声明为static存 储 类别都为自动变量 关键字auto可以省略不写,如果不写static关 键字,则系统默认其前面是auto 关键字 例如:在函数体内定义变量 int a,b,c; auto int a,b,c; 两种方式是完全等价的

变量存储类别 --stic变量 有时候希望函数中的局部变量的值在 函数调用结束后不消失,仍然保留原来 的值,即下次调用该变量时,该变量中 已经有上一次函数调用结束时的值,那 么可以在这种局部变量前面加 Istatic关键 字
变量存储类别 ----static变量 有时候希望函数中的局部变量的值在 函数调用结束后不消失,仍然保留原来 的值,即下次调用该变量时,该变量中 已经有上一次函数调用结束时的值,那 么可以在这种局部变量前面加static关键 字

变量存储类别(程序一) #include #include void testO ● void test int num1=0 static int num2=0 numl++ num2++ printf("num1=%03din", num1)
变量存储类别(程序一) #include #include void test(); void test() { int num1=0; static int num2=0; num1++; num2++; printf("num1=%3d\n",num1);

变量存储类别(程序二) printf("num2=%din", num2);) maino Int 1: for(i=0; 1<3; 1++ printi("第%d次调用函数后numl和num2的值Ⅶn"i); testo: system("pause)
变量存储类别(程序二) printf("num2=%3d\n",num2); } main() { int i; for(i=0;i<3;i++) { printf("第%d次调用函数后num1和num2的值\n",i); test(); } system("pause"); }

变量存储类别 自动变量和静态变量的区别 1.静态局部变量的存储空间分配在静态存储 区域,而动态变量的存储空间分配在动态存 储区域 2静态局部变量的生命周期为整个程序运行 期,自动局部变量的生命周期为函数调用期 3静态局部变量是在编译时赋初始值,整个 程序运行期只进行一次赋值,再次调用函数 时,静态变量不再初始化,而是存放上次函 数调用结束后的值
变量存储类别 • 自动变量和静态变量的区别 1.静态局部变量的存储空间分配在静态存储 区域,而动态变量的存储空间分配在动态存 储区域 2.静态局部变量的生命周期为整个程序运行 期,自动局部变量的生命周期为函数调用期 3.静态局部变量是在编译时赋初始值,整个 程序运行期只进行一次赋值,再次调用函数 时,静态变量不再初始化,而是存放上次函 数调用结束后的值
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言教程》课程PPT教学课件:二维数组的定义.ppt
- 《C语言教程》课程PPT教学课件:循环控制.ppt
- 《C语言教程》课程PPT教学课件:指针是C语言中重要的概念.ppt
- 《C语言教程》课程PPT教学课件:指针作为函数参数.ppt
- 《C语言教程》课程PPT教学课件:指针的各种定义.ppt
- 《C语言教程》课程PPT教学课件:数组与指针的自定义.ppt
- 《C语言教程》课程PPT教学课件:多维数组与指针.ppt
- 《C语言教程》课程PPT教学课件:数组与指针.ppt
- 《C语言教程》课程PPT教学课件:C程序设计For循环.ppt
- 《C语言教程》课程PPT教学课件:选择结构程序设计.ppt
- 《C语言教程》课程PPT教学课件:指针与函数.ppt
- 《DWDM培训原理》教材PPT课件讲解.doc
- 《C语言教程》课程教学资源(教案讲义)程序设计及应用实例(共十一章).pdf
- 《C语言教程》课程教学资源(教案讲义)第十章 指针.doc
- 《C语言教程》课程教学资源(教案讲义)第十三章 文件.doc
- 《C语言教程》课程教学资源(教案讲义)第十一章 结构和共同体.doc
- 《C语言教程》课程教学资源(教案讲义)第六章 循环控制设计.doc
- 《C语言教程》课程教学资源(教案讲义)第九章 编译预处理.doc
- 《C语言教程》课程教学资源(教案讲义)第八章 函数.doc
- 《C语言教程》课程教学资源(教案讲义)第五章 顺序结构程序设计.doc
- 《C语言教程》课程PPT教学课件:程序设计中的函数.ppt
- 《C语言教程》课程PPT教学课件:预处理命令.ppt
- 《C语言教程》课程PPT教学课件:字符数组的元素.ppt
- 《C语言教程》课程PPT教学课件:数组作为函数参数.ppt
- 《C语言教程》课程PPT教学课件:内部函数和外部函数.ppt
- 《C语言教程》课程PPT教学课件:局部变量和全局变量.ppt
- 《C语言教程》课程PPT教学课件:函数调用的一般形式.ppt
- 《C语言教程》课程PPT教学课件:数组的数据的集合.ppt
- 《C语言教程》课程教学资源:课堂笔记.doc
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第一章 软件危机与软件工程.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第七章 编码.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第九章 软件维护.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第二章 软件生命周期及软件开发模式.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第五章 总体设计.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第八章 软件测试.ppt
- 湖北汽车工业学院:《软件工程》课程教学资源(PPT课件)第六章 详细设计.ppt
- 西北工业大学:《DSP软件编程与算法实现》 开发流程讲解.ppt
- 《ANSYS教程》教学资源(PPT课件讲稿,共五章).ppt
- 《电子商务》 电子商务概论总复习.ppt
- 《AutoCAD 2002应用教程》电子教案(PPT教学课件)目录.ppt