1.数据类型有哪些?
1.1字符型
char //character
[signed] char //有符号的
unsigned char //无 号的
1.2整型
/短整型 short int
signed short int
unsigned short [int]
//整型 int
[signed] int
unsigned int
//长整型
long [int]
[signed] long[int]
unsigned long [int]
//更长的整型 //C99中引入
long long [int]
[signed] long long int
unsigned long long int
1.3浮点型
float
double
long double
易错类型:布尔类型
C语言原来并没有为布尔值单独设置一个类型,而是使用整数0表示假,非零值表示真。在C99 中也引入了布尔类型,是专门表示真假的。
_Bool
布尔类型的使用得包含头文件<stdbool.h>布尔类型变量的取值是: true 或者 false.
#define bool_Bool
#define false
#define true
2.sizeof的作用有哪些?
sizeof 是一个关键字,也是操作符,专门是用来计算sizeof的操作符数的类型长度的,单位是字节。
sizeof 操作符的操作数可以是类型,也可是变量或者表达式。
sizeof( 类型)
sizeof 表达式
重点:
1.sizeof 的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的。
2.sizeof 后边的表达式是不真实参与运算的,根据表达式的类型来得出大小。
3.sizeof 的计算结果是size_t类型的。
(sizeof 运算符的返回值,C语言只规定是无符号整数,并没有规定具体的类型,而是留给系统自己去决定,sizeof到底返回什么类型。不同的系统中,返回值的类型有可能是 unsigned int,也有可能是unsigned long,甚至是unsigned long long,对应的printf() 占位符分别是%u、%lu和 %llu。这样不利于程序的可移植性。
C语言提供了一个解决方法,创造了一个类型别名size_t,用来统一表示sizeof的返回值类型。对应当前系统的sizeof的返回值类型,可能是unsigned int,也可能是 unsigned long long)