数据类型
数据类型 | 名称 | 64位系统下数据大小 |
---|---|---|
char | 字符数据类型 | 1 |
short | 短整型 | 2 |
int | 整形 | 4 |
long | 长整形 | 8 |
long long | 更长的整形 | 8 |
float | 单精度浮点数 | 4 |
double | 双精度浮点数 | 8 |
构造类型:
- 数据类型
- 结构体类型struct
- 枚举类型enum
- 联合体类型union
指针类型、空类型:
void 表示空类型(无类型)通常应用于函数的返回类型、函数的参数、指针类型。
注意:
- c语言没有字符串类型。
- 存在这么多的类型是为了更加丰富的表达生活中的各种值。
- 对于整形来说:数据存放在内存中其实存放的补码。
大小端:
大端模式:是指数据的低字节保存在内存的高地址中,数据的高字节存放在内存的低地址中。
小段模式:是指数据的低字节存放在内存的低地址中,数据的高字节存放在数据的内存的高地址中。
大小端的测试方法:
利用强制类型转换的方法:
void funtest1()
{
int i = 1;
char j = *((char*)&i);
if (j == 1)
{
printf("小端存储\n");
}
else
printf("大端存储\n");
}
用共用体-联合体求大小端:
void funtest2()
{
union UN
{
int i;
char c;
}u;
u.i = 1;
if (u.c == 1)
{
printf("小端存储\n");
}
else
printf("大端存储\n");
}
为什么会有大小端?
因为在计算机系统之中,是以字节为单位的,每个地址单元都对应一个字节,一个字节是8个bit。但是c语言中除了8bit的char外还有其他的数据类型,那么就必然存在多字节的安排问题。因此就存在大端存储模式和小端存储模式。