第11章用户标识符的作用 域和存储类别 11.1作用物存类别的概念 11.2局部变量和全后变量 11.3局部变量的存值类别和生存朗 11.4全局变量的存值类别生存朗 11.5数的存分类 11.6如何运行个出多个源文件组成的程房 点专此处结束放殃 4合
第11章 用户标识符的作用 域和存储类别 11.1 作用域和存储类别的概念 11.2 局部变量和全局变量 11.3 局部变量的存储类别和生存期 11.4 全局变量的存储类别和生存期 11.5 函数的存储分类 11.6 如何运行一个由多个源文件组成的程序
111作用域和存储类别的概念 1.1.1作用域 1.1.2存倍类别和生存期 点专此处结束放殃 4合
11.1 作用域和存储类别的概念 11.1.1 作用域 11.1.2 存储类别和生存期
112局部变量和全局变量 在C语言中,局部变量和全局变量的 划分完全取决于变量定义的位置 1.2.1局部变量及其作用域 凡是在函数内部定义的变量都是局部 变量(也称作内部变量),包括在函数内 部复合语句中定义的变量和函数形参表中 说明的形式参数 点专此处结束放殃 4合
11.2 局部变量和全局变量 在C语言中,局部变量和全局变量的 划分完全取决于变量定义的位置。 11.2.1 局部变量及其作用域 凡是在函数内部定义的变量都是局部 变量(也称作内部变量),包括在函数内 部复合语句中定义的变量和函数形参表中 说明的形式参数
局部变量只能在函数内部使用,其作 用域是从定义位置起至函数体或复合语句 体结束为止 例11.1局部变量的作用域。 int fun(int x, int y) 局部变 f int z; z-Xty; return Z; 量域 的作用 点专此处结束放殃 4合
局部变量只能在函数内部使用,其作 用域是从定义位置起至函数体或复合语句 体结束为止。 例11.1 局部变量的作用域。 int fun(int x,int y) { int z; z=x+y; return z; } 局部变 量x、y、 z的作用 域
main( f int a=2, b=3 局部 f int c, 变量 c=a+b c的 printf("c=%dⅦm",c); 作用 域 局部变量的作用域 printf(a+b=%dn",fun(a, b)) 点专此处结束放殃 4合
main( ) { int a= 2,b= 3 ; { int c ; c=a+b ; printf("c= % d \n",c) ; } printf("a+b= % d \n",fun (a,b)) ; } 局部 变量c的 作用域 局部变量a 、b 的作用域
说明 (1)在函数fu中定义的变量z和形 参x、y都只在函数fm中有效,在主函数中 不能引用。 (2)在主函数开始定义的局部变量a 和b的作用域是整个main函数,在其他函 数中不能引用。 点专此处结束放殃 4合
说明 (1)在函数fun中定义的变量z和形 参x、y都只在函数fun中有效,在主函数中 不能引用。 (2)在主函数开始定义的局部变量a 和b的作用域是整个main函数,在其他函 数中不能引用
(3)在main函数的复合语句中定义 的局部变量c的作用域仅限于此复合语句, 在复合语句外面不能使用。 (4)不同作用域中的局部变量可以同 名,它们占据着不同的内存单元,不会发 生混淆。当作用域产生重叠时,处于“内 部”的变量起作用。例如: 点专此处结束放殃 4合
(3)在main函数的复合语句中定义 的局部变量c的作用域仅限于此复合语句, 在复合语句外面不能使用。 (4)不同作用域中的局部变量可以同 名,它们占据着不同的内存单元,不会发 生混淆。当作用域产生重叠时,处于“内 部”的变量起作用。例如:
main( 主 冈 {inta=2,b=3,C=0; 复合 数 f int c, 语句 内局 c=a+b 部变 部 量c的 变 printf("复合语句内e=%dm");作用(量 域 printi("'复合语句外c=%dm",c); 的 作 用 域 点专此处结束放殃 4合
main( ) { int a=2,b=3,c=0; { int c; c=a+b; printf("复合语句内c=%d\n",c); } printf("复合语句外c=%d\n",c); } 复合 语句 内局 部变 量c的 作用 域 主 函 数 中 局 部 变 量 c 的 作 用 域
程序运行时输出: 复合语句内c=5 复合语句外c=0 从以上例子中可以看出:当主函数中 的局部变量c与函数内部复合语句中的局部 变量c同名时,在复合语句内部是自身的局 部变量起作用,main函数中的局部变量c被 屏蔽。 点专此处结束放殃 4合
程序运行时输出: 复合语句内c=5 复合语句外c=0 从以上例子中可以看出:当主函数中 的局部变量c与函数内部复合语句中的局部 变量c同名时,在复合语句内部是自身的局 部变量起作用,main函数中的局部变量c被 屏蔽
71.2.2全局变量及其作用域 凡是在函数外部任何位置上的变量都 属于全局变量(也称作外部变量)。全局 变量的作用域分以下两种情况。 1.全局变量与局部变量不同名 时,其作用域是从定义位置开始到 它所在的源文件结束为止 点专此处结束放殃 4合
11.2.2 全局变量及其作用域 凡是在函数外部任何位置上的变量都 属于全局变量(也称作外部变量)。全局 变量的作用域分以下两种情况。 1.全局变量与局部变量不同名 时,其作用域是从定义位置开始到 它所在的源文件结束为止