1.数据类型
c语言中存在多种数据类型,可以用来记录生活中的各种数据。
接下来我们来介绍下各个类型
1.1整型
整型也分为多个整型,看下图:
1.2浮点型
可以用来记录小数:
1.3字符型
字符型只占两个字节
1.4布尔类型
该类型是在C99标准中引入的新类型,是专门用来表示真假的.
它的值有:0(表示假或条件不成立)和非0(表示真或条件成立).
2.sizeof操作符和signed-unsigned
2.1sizeof操作符
sizeof既是关键字,也是操作符.
sizeof用于计算各种类型的长度,单位是字节.
sizeof的返回类型为size_t
注意:
size_t是C语言为了提高程序的可移植性而创造的
对于sizeof的返回值size_t的类型,C语⾔只规定是⽆符号整数,并没有规定具体的类型,⽽是系统⾃⼰去决定的.
在不同的系统中size_t的返回类型不一定相同,
返回值的类型有可能是unsigned int,或者unsigned long,亦或是unsigned long long.
如图:
2.1.1sizeof中表达式不计算
sizeof括号中的表达式并不会进行真实的运算赋值,只用于计算最终类型的大小
如图:
因为表达式要在程序运⾏期间才能执⾏,而代码在编译时就已经将表达式的最终类型确定了,也就是说在编译时sizeof已经处理了,所以在运⾏期间就不会执⾏表达式了。
2.2signed和unsigned
C语⾔使⽤ signed 和 unsigned 关键字修饰字符型和整型类型。
1.signed 关键字,表⽰⼀个类型带有正负号,包含负值
2.unsigned 关键字,表⽰该类型不带有正负号,只能表⽰零和正整数
即:signed int a;可以表达负数,而unsigned int a;则不行.并且一般signed会隐藏(无需特别编写).
在使用unsigned时则需要自己编写
unsigned 既然没了负数,那么正数部分范围则变大了.⽐如,16位的 signed short int 的取值范围是:-32768~32767;⽽unsigned short int 的取值范围是:0~65535
更多的取值范围可以参看 limits.h 中给出的定义。