根据变量的作用域,可分为
局部变量:
● 定义:在函数或代码块内部定义的变量
● 作用域:从定义变量的那一行开始,一直到代码块结束
● 声明周期:从定义变脸的那一行开始分配存储空间,代码块结束后就会被回收
● 没有固定的初始值
全局变量:
●定义:在函数外面定义的变量
●作用域:从定义变量的那一行开始,一直到文件结束(所有函数都可以共享)
●声明周期:从定义变量的那一行开始分配存储空间,程序退出时才会被销毁
●默认的处置就是0
代码练习:
#include <stdio.h> int age; //定义全局变量age void test() { age = 10; } int main() { printf("age = %d ",age); //输出age = 0 test(); printf("age = %d ",age); //输出age = 10 return 0; }
第一个输出结果为0; 因为main函数内无age变量且main函数外的age是一个全局变量,没有进行初始化,所以保持着默认值0
第二个输出结果为10; test函数执行完 age变量就会销毁,这里访问的还是全局变量