程序结构

全局变量和局部变量

一. 局部变量&全局变量

1 局部变量:“在函数内定义的变量”,

即在一个函数内部定义的变量,只在本函数范围内有效。

2 全局变量:“在函数外定义的变量”,

即从定义变量的位置到本源文件结束都有效。

目的:增加函数间数据联系的渠道。由于同一文件中的所有函数都能引用全局变量的值,因此如果在一个函数中改变了全局变量的值,

就能影响到其他函数中全局变量的值,相当于各个函数之间有直接的传递渠道。

为了便于区别两者,C程序设计人员有一个习惯,将全局变量名的第一个字母用大写表示。如:float Max=0,Min=0; //定义全局变量Max,Min

3.另外如果同时使用局部变量和全局变量,那么会发生

int num1 = 520,num2 = 520;
void fun();
void fun()
{
	int num2;
	num1 = 666;
	num2 = 120;
	printf("In function-fun:num1 = %d num2 = %d\n",num1,num2); // num1 = 666,num2 = 120
}
int main(int argc, char *argv[]) 
{
	printf("befor-In main:num1 = %d num2 = %d\n",num1,num2); // num1 = 520,num2 = 520
	fun();
	printf("after-In main:num1 = %d,num2 = %d\n",num1,num2); // num1 = 666,num2 = 520
	return 0;
}

则在局部变量的作用范围内,外部变量会被“屏蔽”,不会起作用

静态本地变量

在这里插入图片描述
静态本地变量的特点是,不像其他变量在被定义后,离开函数就消失了,静态会一直待在函数哪里,你下次调用时也不会重新定义

int main(){
fun();
fun();
fun();
}
int fun(void){
static int c=1;
c+=2;
printf("%d",c);//这里输出的值为3,5,7,而把static去掉的话就是3,3,3
return c;
}

define

在这里插入图片描述
后面不加;
define定义后的值可以不用常量
在这里插入图片描述
这样后面调用时
printf(“%d”,cube(3));
会自动被换为(“%d”,(3)* (3) *(3))

项目

在这里插入图片描述
为了使程序更简便
如何在·c文件中使用全局变量

在这里插入图片描述
声明全局变量

标准头文件结构

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值