【C语言系列】— 把同学弄糊涂的 “常量” 与 “变量”

 ꧁   各位大佬们好!很荣幸能够得到您的访问,让我们一起在编程道路上任重道远!꧂

☙ 博客专栏:【C生万物】

⛅ 本篇内容简介:详细介绍“常量”与“变量”!

⭐ 了解作者:励志成为一名编程大牛的学子,目前正在升大二的编程小白。

励志术语:编程道路的乏味,让我们一起学习变得有趣!

✂   正文开始


文章目录

前言

变量

局部变量

全局变量

局部变量与全局变量的优先性

变量的作用域和生命周期

 作用域

生命周期

常量

*字面常量*

*const修饰的常变量*

 *#define定义的标识符常量*

*枚举类型*

结束语


前言

生活中的常量:我想在生活中有些值是不变的(比如:每个人的血型,身份证号码,数学上的圆周率等等)这些都是不可以改变的

变量:也有些值是可以改变的(比如:年龄,体重等等)        

而在C语言中,不变的值就用 常量 的概率来表示,变得值就用 变量 来表示。

变量

局部变量

局部变量的定义:就是在特定过程(比如代码块内)或者函数内部所局部定义的一个量!

首先我们来写一个代码认识一下局部变量的容貌真身——————>>>

#include<stdio.h>
void test()
{
	int x = 0;//局部变量
	int y = 0;//局部变量
}
int main()
{
	int a = 10;//局部变量
	int b = 20;//局部变量
	test();
	printf("%d\n", a);
	return 0;
}

像上面代码所描绘的,主函数内部,自定义的函数中,所定义的量都是局部变量!

全局变量

全局变量的定义:全局变量也称 外部变量 ,是在函数的外部定义的变量,也可以在程序的任何地方进行创建!

下面我们也通过一段小代码来认识一下它———————>>>

#include<stdio.h>
int global = 20;//全局变量
int main()
{
	return 0;
}

像这样既不在,主函数内部,也不在自定义的函数中的量就是局部变量啦!

局部变量与全局变量的优先性

我们来想一下,当一个程序中,定义了两个同名的局部变量与全局变量时,那么在使用的时候优先使用谁呢?谁会成为天选之子呢?

来看这段代码——————>>>

#include<stdio.h>
int global = 300;
int main()
{
	int global = 200;
	printf("global=%d\n", global);
	return 0;
}

大家来猜一下谁会得到打印输出的资格?----> 不废话直接实践出真知,打印一下就知道了

看看看,是局部变量呀!

总结:当局部变量与全局变量同名时候,局部变量优先使用

变量的作用域和生命周期

 作用域

作用域的概念,就是,一段程序代码中所用到的名字并不总是有效/可用的  ,而限定这个名字的可用性的代码范围就是这个名字的作用域!(通俗的说就是你所写的这个东西的可用范围就是作用域)

1.局部变量的作用域是变量所在的局部范围

2.全局变量的作用域是你所创建的整个工程

生命周期

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

我们拿一段代码来分析一下——————>>>

1.局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束

2.全局变量的生命周期:整个程序的生命周期

常量

C语言的常量分为4种,下面我来一 一 给大家介绍

*字面常量*

所谓字面常量就是像数字,字母这样的量

//字面常量的演示

3.14;//小数
1000;//整数
'w'//字符数

这些都是字面常量!

*const修饰的常变量*

常变量?什么鬼呀,我常量与变量都没有搞懂呢,怎么又来个常变量! 哈哈,没事没事,常变量就是本身是一个常量,但又有着变量的性质就叫作常变量

看这段代码来验证一下——————>>>

#include<stdio.h>
int main()
{
	float a = 3.14;
	a = 5.20;
	printf("%f\n", a);
	return 0;
}

像这样的量是可以被修改的;但加上const之后呢?

在这里我们可以看到下面的a想被修改,就报了警告,说明加上const 之后就是不能被修改的了!具有常量的性质。

什么是具有变量的性质呢?看这段代码——————>>>

 *#define定义的标识符常量*

 上手代码演示!

#include<stdio.h>
#define MAX 100 //宏定义一个MAX
int main()
{
	int a = MAX;
	printf("a=%d\n", a);
	return 0;
}

看打印出的a值:

就是宏所定义的值!

*枚举类型*

生活中我们很多东西都是可以 一 一 列举出来的,比如:颜色,性别等等,这时我们就需要定义容器把它们包含起来,就有了枚举变量---举个例子

#include<stdio.h>
enum colour
{
	RED,
	GREEN,
	BLUE
};
int main()
{
	printf("%d\n", RED);
	printf("%d\n", GREEN);
	printf("%d\n", BLUE);
	return 0;
}

打印结果可以看出,枚举类型的默认值是从0开始的,依次向下加1

结束语

OK!到这里我们常量与变量详解就结束了,你会 ‘废’ 了嘛!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

甘宸しぐれ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值