下载此文档

c语言第8章.ppt


文档分类:IT计算机 | 页数:约64页 举报非法文档有奖
1/64
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/64 下载此文档
文档列表 文档介绍
第八章综合设计与应用

变量可被识别、能够起作用的范围称为变量的作用域。
变量作用域可以分为局部变量和全局变量。
局部变量(Local Variables)
局部变量
在语句块内定义的变量
形参也是局部变量
定义时不会自动初始化,除非程序员指定初值
进入语句块时获得内存,仅能由语句块内语句访问,退出语句块时释放内存,不再有效
说明:
不同函数内的局部变量可以重名,它们是不同的变量,作用域不同,不会相互干扰
若多个同名局部变量作用域重叠,则最内层复合语句中定义的局部变量有效
局部变量举例(1)
float foo(int x)
{
int a, i, j; /* 局部变量*/
... ... /* 只能用在foo内部*/
}
void main()
{
int a, b, c; /* 局部变量*/
... ... /* 只能用在main内部*/
}
x,a,i,j
作用域
a,b,c
作用域
不同函数内的局部变量可以重名
例: 不同函数中同名变量
void sub()
{ int a,b;
a=6; b=7;
printf("sub:a=%d,b=%d\n",a,b);
}
main()
{ int a,b;
a=3; b=4;
printf("main:a=%d,b=%d\n",a,b);
sub();
printf("main:a=%d,b=%d\n",a,b);
}
运行结果:
main:a=3,b=4
sub:a=6,b=7
main:a=3,b=4
局部变量举例(2)
void main()
{
int a, b, i;
... ...
{
int c, i;
c = a + b;
i = a - b;
... ...
}
... ...
}
a,b,i
作用域
c,i作用域
此范围内复合语句
中定义的i有效
多个同名局部变量作用域重叠
全局变量(Global Variables)
全局变量(外部变量)
函数之外定义的变量
说明
作用域从变量定义处到本源程序文件结束
若全局变量与局部变量重名,则局部变量在作用域内屏蔽全局变量
自动初始化为0
从程序运行起即占据内存,程序运行过程中可随时访问,程序退出时释放内存
在定义点之前或在其他文件中引用,应该进行如下声明:
extern 类型名变量名;
使函数之间的数据交换更容易,也更高效
不推荐使用
因为谁都可以改写全局变量,所以很难确定是谁改写了它
全局变量(Global Variables)
全局变量举例
int a=10, b=5, x, y; /* 全局变量*/
int max(int x, int y)
{
return x>y?x:y;
}
int c; /* 全局变量*/
void main()
{
int a=8;
c=max(a, b);
/* 引用局部变量a */
}
全局变量
c作用域
全局变量
a,b,x,y
作用域
形参x,y
作用域
局部变量
a作用域
int a=3,b=5;
max(int a, int b)
{ int c;
c=a>b?a:b;
return(c);
}
main()
{ int a=8;
printf("max=%d",max(a,b));
}
运行结果:max=8
例:全局变量与局部变量

c语言第8章 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数64
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ranfand
  • 文件大小794 KB
  • 时间2018-01-21