C语言常量&变量

常量

不能变的量

  • 字面常量 存在但无意义

    1
    2
    3
    4
    int main()
    {
    3.14; //字面常量
    }
  • const修饰的常变量

    1
    const int omg = 10; // 常属性 本质依然是变量

    omg 不可修改了,否则报错

  • #define定义的标识符常量

1
#define MONEY 9999  // 标识常量
  • 枚举常量

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    //可以一一列举的量
    enum Sex
    {
    // 可以一一列举的常量
    MALE, //默认从零开始 也可赋初值 MALE = 1
    FEMALE,
    BOTH
    };
    int main()
    {
    printf("%d\n",MALE);
    printf("%d\n",FEMALE);
    printf("%d\n",BOTH);
    return 0;
    }

变量

可以改变的

1
2
int age = 20;   //变量
int age; //不推荐

局部变量

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

1
2
3
4
5
int main()
{
int a = 1; \\局部变量
return 0;
}

全局变量

作用域在:整个工程

1
2
3
4
5
6
int a = 111; \\ 全局变量 不建议和局部变量重名
int main()
{
int a = 1; \\局部变量
return 0;
}

当两者重名时 局部变量优先

  • 局部变量和全局变量能同时存在,但局部变量优先与全局变量
  • 变量要定义在代码块前面

局部变量作用域:所在代码块内

全局变量作用域:整个工程

变量生命周期:局部变量进入所在代码块开始,出结束,全局变量:整个程序开始到结束