根据变量的作用域,可以将变量分为:
1.局部变量
- 定义:在函数(代码块)内部定义的变量(包括函数的形参)
- 作用域:从定义变量的哪一行开始,一致到代码块结束
- 生命周期:从定义变量的哪一行开始分配存储空间,代码块结束后,就会被回收
- 没有固定的初始值
2.全局变量
- 定义:在函数(代码块)外面定义的变量
- 作用域:从定义变量的哪一行开始,一直到文件结尾(能被后面的所有函数共享)
- 生命周期:程序一启动就会分配存储空间,程序退出时才会被销毁
- 默认的初始值是0
代码练习:
#include <stdio.h> int age; void test() { int age; age = 20; } int main() { printf("%d\n", age); // 在main函数内没有age变量就会去函数外面找,由于外面的变量age是一个全局变量,虽然没有进行初始化,但是默认就是0 test(); // test函数执行完,里面定义的age变量就会被销毁,这里访问的还是全局变量age printf("%d\n", age); return 0; }
时间: 2024-10-11 23:43:00