前言
你好,C语言(变量)
一、变量是什么?变量就是表示数字的字母字符,具有任意性和未知性。
二、变量的类型1.全局变量
简单来说,全局变量是定义在函数外部的变量,在程序任意处都可以使用。
举个例子:
#include//第一个文件 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.局部变量
局部变量,顾名思义,只在局部范围内起作用,出了被定义的函数,局部变量会被自动销毁。
举个例子:
#includeint master(); int main() { int a = 100; printf("%dn",a); master(); printf("%dn", c); return 0; } int master() { int c = 5; printf("%dn", c); }
我们可以看到,编译器报错,未定义标识符"c",这里的c是指主函数部分的c,而我们定义c变量是在master这个子函数中定义的,这就是我们所说的局部变量,只在被定义的范围内起作用,而不能被除此范围以外的函数调用。
3.变量的使用
使用变量很简单,需要变量就创建变量。(相当于,没有对象就new一个,嘿嘿)
4.局部变量名和全局变量名冲突
举个例子:
#includeint master(); int a = 0; int main() { int a = 5; printf("%dn", a); return 0; }
通过程序我们可以看到:
先定义了一个全局变量a,又在主函数中定义了一个局部变量a
而输出的结果是局部变量a的值。
由此可知,当全局变量名与局部变量名冲突时,局部变量优先(强龙压不过地头蛇)
在实际 *** 作中,不建议将全局变量名和局部变量名设置为同一名称。
三、变量的作用域与生命周期 1.作用域:简单来说,变量在哪里可以使用,哪里就是它的作用域 ,出了作用域,变量就无法使用(就像鱼儿离了水无法生存)1.全局变量的作用域:整个工程,可以跨源文件使用。
2.局部变量的作用域:变量所在的局部范围。
2.生命周期:变量创建到销毁之间的一个时间段1.局部变量的生命周期:从进入作用域(局部范围)生命周期开始,到出作用域生命周期结束。
2.全局变量的生命周期:整个工程的生命周期(与程序共存亡)。
感谢你看到这里,我是一名计算机专业在读的大学生,刚刚踏进C语言的世界,博文难免会有纰漏,希望大家可以指正。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)