【C语言】浅涉常量、变量

简单不先于复杂,而是在复杂之后。

【C语言】浅涉常量、变量_第1张图片

我们都知道,在程序的指导下,计算机可以做很多事情。而完成这些任务程序需要使用数据,即承载信息的数字和字符。

目录

 变量

 常量


  • 有些数据类型在程序使用前已经设定好了,在整个程序的运行的过程中没有任何变化,这些称为常量。 简而言之,就是不能被改变的量。
  • 其他数据类型在程序运行期间可能被改变或者赋值,称为变量。就是可以改变的量。

 变量

首先,先对变量进行分类。变量分为局部变量全局变量

  • 局部变量就是{ }内部定义的变量。
  • 全局变量就是{ }外部定义的变量。 
int a = 5;

int main()
{

   int b = 10;  
   
   return 0;
}

 以上的 a 就是全局变量,b 就是局部变量。

那么给变量命名的时候就会遇到问题,局部变量和全局变量的命名是否可以相同呢?

可以但不建议。

当局部变量和全局变量命名相同的时候,采取就近原则,局部变量优先。

虽然语法允许,还是不要给自己找麻烦的好,尽量不要把局部变量和全局变量写成一样的名字。

接下来认识一下变量的作用域生命周期

变量的作用域就是限制变量使用的范围。 

  • 局部变量的作用域是变量所在的局部范围。
  • 全局变量的作用域就是整个工程。

超出变量的作用域范围变量是不可以使用的。

 变量的生命周期

  • 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
  • 全局变量的生命周期:整个程序的生命周期。

【C语言】浅涉常量、变量_第2张图片

 常量

  • 字面常量
  • const 修饰的常变量
  • define 定义的标识符常量
  • 枚举常量
  1. 27、3.24、'e'(字符)、"efvhbrebver"(字符串常量)等等,这些都是字面常量
  2.  在C语言中,const修饰的常变量,本质是变量,不能直接修改,但是具有常属性。
#include

int main()
{
   int a = 10;
   a = 20;
   printf("%d\n",a);//结果20,a为变量



   const int b = 10;
   b = 20;//会报错,因为有常量属性,值不能改变。


   const int n = 10;
   int arr[n] = {0};//数组表达式中必须含有常量值,会报错。
    
   

   return 0;
}

 3.define定义的标识符常量

#define MAX = 100//定义一个符号MAX,值为100.
#include

int main()
{
   printf("%d\n",MAX);//打印结果为100
   int a = 100;
   printf("%d\n", a);//打印结果是100
   
   return 0;
}

4.枚举常量

枚举型是一个集合,集合中的元素(枚举成员)是一些命名的整型常量,元素之间用逗号隔开。

枚举常量的定义格式:

enum 枚举名

{

   枚举名 = 值,

   枚举名 = 值,

   枚举名 = 值

    ···········

};

如果不赋值,值会默认从0开始递增。

如过想要从某个值开始递增,可以给第一个枚举值赋值,随之会从第一个枚举名赋值的常量开始递增。

enum Color//enum为枚举关键字,定义Color枚举类型
{
   RED,
   GREEN,
   GLUE
}

int main()
{
   //三原色可以一一列举
   int num = 10;
   enum Color c = RED;
//创建了一个Color类型的变量为c,赋值为RED,并在创建c的时候向内存申请了一块空间
//创建变量本质是向内存申请了一块空间,变量中要存储值
//常量只是个类型,没有去使用,只是一个符号而已,不会开辟空间。
//用常量的类型创建变量时会开辟空间



   return 0;
}

你可能感兴趣的:(C语言,c语言,开发语言)