第14章变量的存储类别及 内部、外部函数 变量的存储类型 自动变量 2、静态变量 3、寄存器变量 4、外部变量 二、内部函数和外部函数 内部函数 2、外部函数
第14章 变量的存储类别 及 内部、外部函数 一、变量的存储类型 1、自动变量 2、 静态变量 3、 寄存器变量 4、 外部变量 二、内部函数和外部函数 1、 内部函数 2、 外部函数
变量的存储类型 对变量的定义需要给出两方面的属性: 数据类型:指变量的名称、类型、取值范围和占据 存贮空间的大小。如整型,实型,字符型等。 存储类别:变量存在的时间(生存期)、作用范围 和在硬件中存放的地点(区域) 变量定义的一般形式为: 存储类别数据类型变量名;
对变量的定义需要给出两方面的属性: 指变量的名称、类型、取值范围和占据 存贮空间的大小。如 整型,实型,字符型等。 变量存在的时间(生存期)、作用范围 和在硬件中存放的地点(区域)。 数据类型: 存储类别: 存储类别 数据类型 变量名; 变量定义的一般形式为: 一、变量的存储类型
内存中供用户使用的空间有三部分: 程序区 存放程序的可执行代码。 用户区 静态存储区存放全局变量和静态局部变量 动态存储区存放函数调用时调用函数的现场保
内存中供用户使用的空间有三部分: 用 户 区 程序区 静态存储区 动态存储区 存放程序的可执行代码。 存放全局变量和静态局部变量。 存放函数调用时调用函数的现场保 护、自动局部变量和函数形参
自动变量 用关键字auto作存储类型说明的局部变量(包 括形参)称为自动变量 自动变量存放在动态存储区,都是动态分配存 储空间的。 C语言规定:在局部变量的定义中,可省略关 键字auto。即:没有指明存储类别的变量,一律隐 含为:自动变量。 例:main( int hanshu( auto int a f x, y; i auto int b, C, d
1、 自动变量 用关键字auto作存储类型说明的局部变量(包 括形参)称为自动变量。 自动变量存放在动态存储区,都是动态分配存 储空间的。 C语言规定:在局部变量的定义中,可省略关 键字auto。即:没有指明存储类别的变量,一律隐 含为:自动变量。 例:main( ) { int x , y; ······ } int hanshu( auto int a ) { auto int b, c, d; ······ }
例自动变量的特点示例。 #include <stdio. h> 程序运行结果: void f (int n) NO.1:s=1 NO.2: S=1 auto int s=0;/auto可以省略* NO.3:s=1 printf("No%od: S=%dn", n, S) void maino int num; for(num=l; num<4; num++) f(num)
例 自动变量的特点示例。 #include <stdio.h> void f (int n) { auto int s=0; /*auto可以省略*/ s=s+1; printf("No.%d:s=%d\n",n,s); } void main() { int num; for(num=1;num<4;num++) f (num); } 程序运行结果: NO.1:s=1 NO.2:s=1 NO.3:s=1