函数中的变量

  • 函数内的形参在该函数被调用前不占用内存的存储单元;该函数被调用后,形参才被分配内存单元;函数调用结束,形参所占用的内存也将被回收,被释放(即:形参只有在定义它的函数内才是有效的,离开该函数就不能再使用)
  • 变量的有效范围或变量的应用范围称为该变量的作用域。
  • 按照变量的作用、域范围可分为两种,即全局变量和局部变量。

 

一、局部变量

在函数内部或块内定义的变量称为局部变量

int function(int a,int b)
{
int x,y;
................
}

a,b,x,y只在function函数中有效



main()
{
int m,n;
}

变量m,n只在函数内部有效

局部变量的注意事项

  • 主函数main中定义的变量(m、n)只在主函数中有效,并不是因为在主函数中定义,而在整个文件或程序中有效。因为主函数也是一个函数,它与其他函数是平行的关系。
  • 不同的函数中可以使用相同的变量名,他们代表不同的变量,之间互不干扰。
  • 在一个函数内部,还可以在复杂语句(块) 中定义变量,这些变量只在本复合语句中有效。
  • 如果局部变量的有效范围有重叠,则有效范围小的优先。
#include "stdio.h"
void main()
{
	// ****a,b,c作用域开始*****
int a,b,c;
{
	// 作用域范围小的的优先
int c;
c=a+b;
  
}
 // ****a,b,c作用域结束*****
}

二、全局变量

在函数之外定义的变量称为全局变量,又称外部变量。一个源文件由若干个函数组成,全局变量可以为本文件中的其他函数所共有,它的有效范围是从定义点开始,直到源文件结束。

 

#include "stdio.h"
#include "math.h"
#include "stdlib.h"
int min;    // 全局变量min
int find()
{
int max,x,i;
x=rand()%101+100;   // 产生一个[100,200]的随机数x
printf("  %d",x);
max=x;min=x;        // 设定最大数和最小数
for(i=1;i<10;i++)
{
x=rand()%101+100;  // 产生一个[100,200]的随机数x
printf("  %d",x);
if(x>max)           // 若新产生的随机数大余最大数,则替换
max=x;
if(x<max)          // 若新产生的随机数小余最大数,则替换
min=x;
}
return max;
}

void  main()
{
int m = find();
printf("\n最大数:%d,最小数:%d\n",m,min);
}

 

三、自动类型变量

 

四、寄存器类型变量

 

五、静态类型变量

 

六、外部类型变量

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旭日初扬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值