用户使用的存储空间的划分
分为三个区域:程序区、静态存储区和动态存储区
动态存储与静态存储
动态存储是指在程序运行期间根据需要进行动态分配存储空间,而静态是指在程序运行期间分配固定的存储空间
动态存储区存放哪些数据
1、函数形参
2、未加static说明的局部变量
3、函数调用时的现场保护和返回地址
局部变量的存储方式
1、动态分配存储空间,存储在动态存储区。分配和释放由编译系统自动处理
2、在函数调用后保持原值,占用的存储空间不释放。以static修饰
局部变量的赋值
1、局部静态变量在编译时赋初值,即程序运行时已有初值。因为只赋值一次,所以每次都保留上次的值。
2、自动变量的赋初值是在函数调用时进行,每次调用就赋值一次。
数组的初始化
1、只有定义全局变量和局部静态变量才能对数组初始化,即只有对存储在静态存储区中的数组才能初始化,在编译时完成。
2、对动态存储区的数组不能初始化(若数组很大,每调用一次就进行一次赋值,占用太多)
何时需要局部静态变量
1、需要保留函数上一次调用结果
2、函数中的数组需要初始化
3、变量只被引用而不需改变值
什么是全局变量
1、在函数外部定义
2、编译时分配在静态存储区
3、也称外部变量
引用另一个文件中的全局变量的引用
1、允许其他文件中的函数引用,在需要引用的文件里用extern声明
2、不允许其他文件中函数引用,在本文件中加static标识
变量划分
1、根据作用域不同分为局部和全局
2、根据是否在程序整个生命周期存在分为动态存储和静态存储
3、根据存储位置不同分为静态存储区、动态存储区和寄存器
分享到:
相关推荐
C语言程序设计:第7章 函数.ppt
C语言程序设计第7章-函数.ppt
C语言程序设计:第7章 函数及变量存储类型.ppt
C语言程序设计第7章函数ppt课件.ppt
C语言程序设计教学课件:第7章 函数.ppt
第一章:C语言程序设计概述 2课时 第二章:基本数据类型与表达式 4课时 第三章:顺序程序设计 4课时 第四章:选择结构程序设计 4课时 第五章:循环结构程序设计 8课时 第六章:函数与编译预处理 4...
资料目录.bat C语言程序设计(4) 课件 第10章 字符串.ppt ...C语言程序设计(4) 课件 第7章 函数与模块化程序设计.ppt C语言程序设计(4) 课件 第8章 数组和算法基础.ppt C语言程序设计(4) 课件 第9章 指针.ppt
C语言程序设计课件:第7章 用函数实现模块化程序设计.pptx
C语言程序设计课件第7章函数.ppt
c语言程序设计王勇第7章函数.ppt
第七章:函数。重点掌握。 第八章:用户标识符的作用域和存储类。主要掌握基本概念。 第九章:编译预处理。主要掌握§9.1~§9.2的内容。 第十章:指针。主要掌握§10.1~§10.4的内容。 第十一章:结构体与共用体和...
c语言程序设计王勇第7章函数2.ppt
C语言程序设计教程第7章函数4.ppt
C语言程序设计教程第7章函数3.ppt
C语言程序设计第7章函数进阶和结构化编程.ppt
第一章:c语言程序设计预备知识 第二章:c语言程序设计基础 第三章:基本数据类型、运算符与表达式 第四章:基本输入、输出和顺序程序设计 第五章:选择结构程序设计 第六章:循环结构程序设计 第七章:数组 第八章...
c语言程序设计-第7章-函数-2完整.pptx
c语言程序设计包云第7章用函数实现模块化程序设计.ppt