C语言的世界(四)




前言

你好,C语言(变量)

一、变量是什么?

变量就是表示数字的字母字符,具有任意性和未知性。

二、变量的类型

1.全局变量

简单来说,全局变量是定义在函数外部的变量,在程序任意处都可以使用。

举个例子:

#include<stdio.h>//第一个文件
extern int b ;
int main()
{
    int a = 0;
    a = 100;
    printf("%d %d", b, a);
    return 0;
}
int b=99;//第二个文件

 

 我们可以看到,即使b没有在主函数main中定义,但仍可以被主函数所调用,其实不管是在主函数中,还是用户定义的子函数中,还是其他文件中,,b(全局变量)都可以被调用。

全局的含义也因此而来。(全局—整个工程)

在程序中,尽量不使用全局变量,因为全局变量不可控,容易出错。

因此,全局变量在定义时要初始化,声明时加extern。

2.局部变量

局部变量,顾名思义,只在局部范围内起作用,出了被定义的函数,局部变量会被自动销毁。

举个例子:

#include<stdio.h>
int master();
int main()
{
	int a = 100;
	printf("%d\n",a);
	master();
	printf("%d\n", c);
	return 0;
}
int master()
{
	int c = 5;
	printf("%d\n", c);
}

我们可以看到,编译器报错,未定义标识符"c",这里的c是指主函数部分的c,而我们定义c变量是在master这个子函数中定义的,这就是我们所说的局部变量,只在被定义的范围内起作用,而不能被除此范围以外的函数调用。

3.变量的使用 

使用变量很简单,需要变量就创建变量。(相当于,没有对象就new一个,嘿嘿)

4.局部变量名和全局变量名冲突

举个例子:

#include<stdio.h>
int master();
int a = 0;
int main()
{
	int a = 5;
	printf("%d\n", a);
	return 0;
}

通过程序我们可以看到:

先定义了一个全局变量a,又在主函数中定义了一个局部变量a

而输出的结果是局部变量a的值。

由此可知,当全局变量名与局部变量名冲突时,局部变量优先(强龙压不过地头蛇) 

在实际操作中,不建议将全局变量名和局部变量名设置为同一名称。

三、变量的作用域与生命周期

1.作用域:简单来说,变量在哪里可以使用,哪里就是它的作用域 ,出了作用域,变量就无法使用(就像鱼儿离了水无法生存

1.全局变量的作用域:整个工程,可以跨源文件使用。

2.局部变量的作用域:变量所在的局部范围。 

2.生命周期:变量创建到销毁之间的一个时间段

1.局部变量的生命周期:从进入作用域(局部范围)生命周期开始,到出作用域生命周期结束。

2.全局变量的生命周期:整个工程的生命周期(与程序共存亡)。

感谢你看到这里,我是一名计算机专业在读的大学生,刚刚踏进C语言的世界,博文难免会有纰漏,希望大家可以指正。

猜你喜欢

转载自blog.csdn.net/m0_60653728/article/details/121963642
今日推荐