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

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

939f2630b4d648008f9b40ae28c561dc.jpeg

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

目录

 变量

 常量


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

 变量

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

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

int main()
{

   int b = 10;  
   
   return 0;
}

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

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

可以但不建议。

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

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

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

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

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

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

 变量的生命周期

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

377984eb2627449cb04950f61e22881a.png

 常量

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

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<stdio.h>

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;
}

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2024_极限年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值