<C语言>了解变量和常量

      大家好又见面了,我们今天了解一下常量和变量以及相应的作用域,OK,不多说我们来开始吧!

--------------------分------------------------------------------界-------------------------------------------线-------------

今日目标:

1.了解变量和常量

2.什么是作用域

一.首先,什么是变量,什么又是常量呢?

        像可以更改内存存储数据的就是变量

        如图,这个a就是变量,10就是给a赋的初始值(也就是常说的初始化),

        当然也可以直接定义a,不初始化(在不定义初始值的时候,a的内存中会存储随机值),所以我们更提倡在定义变量的时候给一个初始值。

什么又是常量呢?

在C语言中常量分为四种

(1)字面常量

        1.字面常量就是上图a=10中,10就是字面常量(也就是字面意思,你看的出来是个数,就是字面常量)

(2)const 所修饰的常变量

        如图,被const所修饰的变量不可被更改了,所以这个a就具备了常属性

        但是又为什么说它是变量呢

这里我们在拓展一下数组的概念:在定义数组的时候可在[ ]中用常量定义数组的大小;

        所以如果说用const修饰就变成常量的话,arr数组就应该不会报错,但是这里的arr还是报错了,所以这里我们就说我们这个a既是常量又是变量(常变量)。

(3)#define定义的字符常量

        这里我们用#define定义了一个A并赋给了一个5(可以理解为将工程中所有的字符“A”替换成数字“5”

 如图,数组arr并没有警告,printf可以打印A的数值

(4)枚举常量

        由enum这个关键字创建的常量就是枚举常量(枚举的意思就是可以一一列举的量)

        如图,这个“Week”就是枚举常量的名字,而大括号包括的值就是我们枚举常量的所列举的常量(星期一,星期二,星期三)

枚举常量也可以给其他枚举变量赋值

        当在我们未给常量赋值时,编译器通常会给枚举常量赋一个初始值,这个初始值一般是从“0”开始

 而当我们给其中一个常量赋一个初始值时,我们所赋值的常量后面的常量也会跟着改变,如图:

 

  二.什么是作用域

        作用域就是一个变量或者常量可以起到作用的范围可以分为:全局变量和局部变量

        看,我们在内部的“{ }”中定义了一个局部变量a,但我们在外部的printf无法读取到a,所以这个'a'只作用在内部的大括号里无法出去,这个区域我们就叫做作用域

        而这个'c'可以说不管在哪都可以读取到,所以我们就说这个'c'是全局变量作用在整个工程中。

而当局部变量和全局变量冲突时,局部变量要大于全局变量

        如图:我们在main函数外面定义了一个c并赋上1000,我们在内部又定义了一个c并赋上一个10,当我们打印会发现输出的是10,所以我们就说局部变量要大于全局变量的。

 

 

-----------------分------------------------------------界-------------------------------------线--------------------------

        OK,今天我们就先讲到这里了,后面的内容我还是会继续更新哒,如果有什么错误请一定要留言指出来。谢谢大家了!٩( 'ω' )و

 

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码

)">
< <上一篇
 

)">
下一篇>>