1.变量:本质上就是在内存中开辟空间来储存数据的。
---->局部变量:
定义在函数内部的变量,叫局部变量;
---->全局变量:
定义在函数的外部的变量叫全局变量,直接定义在.c源文件下的变量。
2.全局与局部的异同:
相同:都是变量,都是用来在内存中开辟空间储存数据的。
不同点:
1)各自声明位置不同,全局变量声明在函数外部,局部变量声明在函数的内部; 2)作用域不同:
局部变量只能在定义这个局部变量的函数的内部访问,从定义局部变量的地方开始一直到作用域结束的这段范围都可以访问;全局变量:从定义的全局变量的地方开始,后面的所有的函数中都可以直接访问这个全 局变量;一般情况下,全局变量的定义是放在所有函数之前的。
3)默认值不同:
声明1个局部变量,如果没有为这个局部变量初始化,那么这个局部变量中的值是有值的,是1个垃圾值
声明1个全局变量,如果没有为这个全局变量初始化,那么这个全局变量的值模式就是0;
如果全局变量的类型为char类型,呢么默认值是‘\0’,代表一个不可见字符;
4)回收时间不同:
局部变量的回收在其作用域一旦被执行之后会被立即回收,所以在1个作用域中定义的局部变量,无法再作用域的外面访问;
全局变量一旦声明,是不会回收的,知道程序结束时才会收回全局变量;
3.全局变量的一些细节问题
1)全局变量的特点:
a.所有的函数中都可以访问;
b.全局变量在整个程序运行期间只有1个,直到程序结束的时候才会回收;
c.全局变量就可以被共享,可以被所有函数访问,
无论在哪1个函数中访问全局变量,访问都是同一个全局变量。
2)函数如果不被调用,那么函数中的代码是不会被执行的;
3)可以定义1个局部变量和全局变量一致
这个时候,在同名局部变量的作用域中访问这个变量,访问的是这个局部变量。
4.总结
1)声明是全局变量;
2)全局变量与局部变量的区别;
3)全局变量的特点:可以被所有的函数共享;