C语言中的变量与常量

写在前面:

今天我们要学习的是C语言中的变量和常量,下面我们一起来对这方面的知识结合代码进行探究.

C语言中的变量分为局部变量和全局变量.

C语言中的常量可以分为以下几种:

  • 字面常量
  • const修饰的常变量
  • #define定义的标识符常量
  • 枚举常量

在我们的生活当中有些值是亘古不变的,比如:圆周率,身份证号码,血型等.而有的值是经常发生变化的,比如我们的体重,蹭蹭涨的薪资等等.接下来让我们学习学习变量与常量的关系以及区别.

变量:

定义变量的方法:

int age = 22;
float weight = 62.1f;
char ch = 'g';

变量的分类:局部变量和全局变量

#include <stdio.h>

int a = 10; //全局变量
int main() {
	int b = 20; //局部变量
	return 0;
}

注意:当全局变量和局部变量重名时,优先使用局部变量.即对全局变量进行了隐藏. 

这里很有必要讲一讲变量的作用域和生命周期:

作用域:变量的可用性范围,通常来说,就是一段程序代码中所用到的名字并不总是可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域.

局部变量的作用域是指变量所在的局部范围,而全局变量的作用域是整个工程.

生命周期:变量的生命周期指的是变量的创建到变量销毁之间的一个时间段.

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

很多时候可能会忘记给变量赋值造成不可控制的错误,但是有的时候忽略了但是结果却是正确的,这是什么原因呢?

其实最主要的原因就是:全局变量未初始化默认为0,局部变量未初始化为随机值或者直接报错(VS编译器).

常量:

一.字面常量

#include <stdio.h>

int main() {
	//字面常量
	3.14; 
	10; 
	'a'; //字符常量
	"dajijoa"; //字符串常量
	return 0;
}

字面常量写出来就是已经固定了,不能再修改了.

二.const修饰的常变量

 上面图中,num为变量,顾名思义也就是可以变的量,可以对它重新赋值.

而变量num使用const关键字修饰后变成了常变量,因此在对变量num重新赋值时就出现了错误.

常变量的意思是具有只读属性不能修改,但是其本质上依然是变量.由此可知:

 定义数组时同样也不能使用常变量,而是需要常量才可以.

三.#define定义的标识符常量

使用#define宏定义的标识符常量同样也不可以修改,否则也会报错.

四.枚举常量

指的是可以一一列举的常量,比如性别,可以列举为男,女和保密这三种等等

同样枚举常量都是具有值的,并且默认是从0开始并且依次向后加1进行操作. 

 如果刚开始进行了赋初值则依次向下加一

 如果对枚举常量的中间某一位进行了赋值,则后面的依次加1进行.而之前的所有仍然是从0开始.

以上的几种情况都是笔试中有可能会遇到的,并且在平时的使用中也是一个容易忽略的小点,并且也是很容易出错的一个小点,希望大家可以多多注意.

路漫漫其修远兮,吾将上下而求索. -------屈原 <<离骚>>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值