龙空技术网

C语言-符号常量、常变量、变量之我见

BUCM18信管 311

前言:

如今大家对“c语言中符号常量”都比较关怀,咱们都想要知道一些“c语言中符号常量”的相关文章。那么小编也在网络上网罗了一些关于“c语言中符号常量””的相关内容,希望看官们能喜欢,咱们一起来学习一下吧!

BUCM18信管

更新内容:新增音频。音频和文章一起更配o

Hello,大家好,又和大家见面了~~

相信很多朋友们听了C语言的“符号常量”、“常变量”、“变量”后还是对这三者一脸懵逼吧。不管老师怎么歇斯底里地讲解,同学们迷茫的小眼神中充满了淡淡的忧桑。于是小编决定写此文章。(事先温馨提示,要是“小编”不小心打成“小便”,请理解小编,小编之前是学医的,并非小编……省略一万字)

先科普一下这三个东东:

符号常量(eg. #define PI=3.1415926) 符号常量是在C语言中,可以用一个标识符来表示一个 常量 ,这个标识符称之为符号常量。其特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分。常变量(eg. const int k = 100) 在定义变量时,如果加上关键字const,则变量的值在程序运行期间不能改变,这种变量称为常变量(constant variable)。变量(eg. int l =1000) 变量是C程序执行过程中用以临时存储数据的存储单元。

接下来简单看看这三个东东怎么使用(以正确输出3.1415926, 100 , 1000这三个数为例)

#include <stdio.h>#define PI 3.1415926const int k = 100;int l = 1000;int main(){	printf("PI = %.7lf\n", PI);	printf("k= %d\n", k);	printf("l= %d", l);	return 0;}

输出结果(初始)

调皮的同学可以动手把输出中的代码变一变(如把PI输出的"%.7lf"改为"%d","%c"),看看会有什么样的惊喜。

变量这东东这么好用了。那么为什么要有符号常量、常变量存在呢?

对此小编的解释是,10行的代码当然容易看清自己用了哪些变量,但100,1000行代码,万一不小心把变量重新赋值怎么办???程序可以执行,但结果始终不对,得傻乎乎调试找错。所以这时符号常量和常变量就很重要了。后面一旦相同变量重新赋值,系统自己报错,一个字,爽!

哎,当时小编就想上课好好举起自己的小手手啊!可惜小编吃饭还得靠头条的广告费呢,各位金主爸爸们,赏个赞吧orz orz orz

小编天性爱玩,所以,教了的东西总是要玩个遍,下面是小编的玩耍记录。

变代码(一)

分别更改PI、K和I的值

报错

说明PI已经被限定了,不能变更

变代码(二)

把报错PI那行代码删掉

K值变更了!!!

Why???先保留疑问,接着看下文

变代码(三)

将const int k 下移到main() 中

报错

看来是constant int 和 int 冲突了

变代码(四)

把 int k=1000 变成 k=1000

结果是:

这时显示k不可被修改,const起效果

那么为什么 变代码(二)中 K的值用了const却还是会改变呢????这是由于 符号常量和常变量的局限性。(C语言中 为什么说常变量比符号常量方便? - 逃学书童的回答 - 知乎

总之,C语言好有意思呢~~

呼呼呼,头条竟然不能用markdown!!!累死小编了。

看在小编这么辛苦的份上,打个赏或赏个赞吧。谢谢各位金主爸爸 !!!

orz orz orz

标签: #c语言中符号常量 #c语言地址符号 #c语言符号大全 #在c语言中用什么关键字定义符号常量