常量与变量理解总结

1、常量:在程序执行过程中值不会发生变化的量。

(1)分类:

1.整形常量:一个整形数。

2.实型常量:一个实型数。

3.字符常量:由单引号引起来的单个字符或转义字符。

特别注意:'\015'是字符常量,属于、ddd。'\018'不是,8不符合八进制规定。

4.字符串常量:由双引号引起来的一个或多个字符组成的序列(特殊:空串  "")。保存需要借助构造类型。

5.标识常量:#define。宏体完全替换宏名,但不进行语法校验,一改全改,占编译时间

   #define  PI   3.14    #define   ADD  (4+3) #define  MAX(a,b)   a>b?a:b   

2、变量:用来保存一些特定的内容,并且在程序执行过程中随时会发生变化的量。

定义:[存储类型]       数据类型     标识符   =    值

                                  TYPE          NAME   =    VALUE;

1.标识符:由字母数字下划线组成且不能以数字开头的一个表示序列。写标识符尽量写到见名生义。

2.数据类型:基本数据类型或任意的构造类型。

                      存储类型:

                      1.auto:默认类型   自动分配和回收空间。

                      2.static:静态型    自动初始化为0值或空值,并且其变量的值具有继承性。 另外,常用来修饰变量或函数,对应全局变量副作用的第二点。   

                      3.register:(建议型)寄存器类型    资源极少运算极快。register   int    i;只能定义局部变量,不能定义全局变量;大小有限制,只能定义大小32位的数据类型,如double就不可以。寄存器没有地址,所以一个寄存器类型的变量无法打印出地址查看或使用。

                      4.extern(说明型):不能改变被说明变量的值或类型。

值:要与分配的类型相匹配。

3、变量的生命周期和作用范围

1.全局变量和局部变量

全局变量:从定义开始到当前程序结束。

局部变量:从定义开始到块的作用域结束。

重点:内部变量永远都是屏蔽外部变量。

全局变量的副作用:

1.任何一个地方改变全局变量的值都会影响其它地方的使用。

2.在不同.C文件中定义同一变量名的全局变量,虽然作用域和生命周期都不相同但编译时出现重复定义错误。此时应加上static修饰。static修饰函数时,只允许在本.c中调用。

2.局部变量和局部变量

在同一语句块当中不允许重复定义同一变量名,会报错。

3.参考图片

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值