signed int 数据范围_数据类型与常量、变量解析

C语言入门参考-第五章-数据类型与常量、变量

常量即为在程序运行过程中值不会改变的量,常量又有字面常量与符号常量之分。符号常量使用#define预处理器指令与const关键字定义,(#define符号常量又称宏,宏会在后面的章节中详解,此处不深究)。

61eae8dac0aeeeac069a338c165de838.png

在C语言中一般使用#define预处理器指令来定义常量,在程序中调用#define定义的常量值只需写上标识符即可。修改#define定义的常量值,只需修改标识符后面的常量即可,可以实现一改全改的效果。除此之外,#define预处理器指令定义的常量是不占内存空间的。字面常量则包含整型常量(例:1、-2)、浮点型常量(例:1.1、-2.2)、字符常量(例:'a'、'b')、字符串常量(例:"a"、"b")。

49786bc5a27e9f78a253e955efc6afea.png

变量即为在程序运行过程中值可能发生改变或被重新赋值的量。变量相比常量则需要声明定义,赋值初始化后才可以使用,且会占据内存空间。

4b9926a2e5eb5eed959048ab020b6f47.png

我们来看一下上面这个例程,int one;这一行代码创建了一个整型变量取名叫one。这一过程就是变量的声明。这中间int是数据类型,one是变量名。要创建变量就需要先声明变量的数据类型。

2c32fbcdd5f102bacdf011e4d3680b93.png

"one=1;"这一行代码则是给变量one赋值,将值1赋给变量one。这是变量的定义初始化,变量只有初始化后才能使用。变量名、常量名的术语是标识符,标识符是不能随便乱写的。只能由数字、字母、下划线组成,且只能由字母或下划线开头。标识符中间还不能有空白字符(空格、制表符),不能与关键字(如:int、char、float等C语言已保留具有特殊作用意义的保留字)相同。标识符还区分大小写,大写的标识符与小写的标识符是不同的两个标识符。(常量一般使用大写,变量一般使用小写,藉此更好的区分常量与变量)这里再次提一下写标识符的时候尽量写有意义的标识符,这样才更有利于代码的维护。

下面我们来讲一下数据类型,众所周知不同的数据都有不同的类型(如小数、整数等)。在C语言中数据也一样被划分不成不同的数据类型。我们前面讲到过,创建一个整型变量,就是表明在内存中分配一个用来存储整数的空间。

e2f82eadbf08a37b0a56f35e46af1b89.png

每种数据类型占的字节数都不一样。不同的操作系统、不同的位数的操作系统,数据类型所占的字节数可能略有不一样。下面是64位windows系统中基本类型所占的字节数。

79aab41ec94dbca9dd3232e715876920.png

数据类型所占的字节数越大,其值范围也越大。数据类型还有有符号类型(signed)与无符号类型(unsigned)的区别,两者的值范围又有所不同。C语言数据类型默认是有符号类型的,能够表示负数。无符号类型则不能表示负数只能表示正整数,浮点型数据类型C语言里的定义是总是有符号类型。

4c49237615e977fb254c992b2583b532.png

若需使用无符号数据类型,必须先在数据类型前面加上unsigned,否则依然是默认的有符号类型。

接下来讲一下常变量与const关键字

f060518d305c8502e5d9949876daabdc.png

严格的来说const关键字定义的常量并不能称之为常量,而是变量或者说是常变量。const关键字只是给变量赋予了一个只读属性,其本质还是变量。这个只读属性使得变量只能读取而不能重新赋值(常量的不变性),这也是const常量为何又称之为常变量的原因。且const常量赋只能在初始化时完成。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值