程序结构

全局变量和局部变量

一. 局部变量&全局变量

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文件中使用全局变量

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

标准头文件结构

在这里插入图片描述

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页