目录
知识点1【数据类型概念】
知识点2【验证数据类型的长度】
知识点3【unsigned 和 signed】(重要)
1、无符号数 unsigned
2、有符号数 signed 默认一般省略
知识点4【结构体 struct和共用体union】
知识点5【enum】
知识点6【void】
知识点1【数据类型概念】
数据的不同类型 目的 合理的利用空间
计算机存储的是二进制。一位二进制 只能存放0或1 1b
1字节 == 8b(八位二进制) 0000 0000 ~ 1111 1111
1B == 8b
1KB == 1024B 10月24号程序员节日
1MB == 1024 KB
1GB == 1024 MB
1TB == 1024 GB
1PB == 1024 TB
1EB == 1024 PB
-------------------------在32位平台---------------------------------
char 字符类型 占1字节的空间(8位二进制位)
short 短整型 占2字节的空间(16位二进制位)
int 整型 占4字节的空间(32位二进制位)
long 长整型 占4字节的空间(32位二进制位)
float 单精度浮点型 占4字节的空间(32位二进制位)
double 双精度浮点型 占8字节的空间(64位二进制位)
案例:验证数据类型的长度
-------------------------在64位平台---------------------------------
char 字符类型 占1字节的空间(8位二进制位)
short 短整型 占2字节的空间(16位二进制位)
int 整型 占4字节的空间(32位二进制位)
long 长整型 占8字节的空间(64位二进制位)
float 单精度浮点型 占4字节的空间(32位二进制位)
double 双精度浮点型 占8字节的空间(64位二进制位)
知识点2【验证数据类型的长度】
sizeof测量类型的长度
#includeint main(int argc,char *argv[]) { printf("sizeof(char)=%dn",sizeof(char)); printf("sizeof(short)=%dn",sizeof(short)); printf("sizeof(int)=%dn",sizeof(int)); printf("sizeof(long)=%dn",sizeof(long)); printf("sizeof(float)=%dn",sizeof(float)); printf("sizeof(double)=%dn",sizeof(double)); return 0; }
运行结果:
知识点3【unsigned 和 signed】(重要)
1、无符号数 unsigned
数据没有符号位,自身的所有二进制位 都是数据位
比如:unsigned char 0000 0000 ~ 1111 1111
2、有符号数 signed 默认一般省略
二进制最高位 为符号位,其他位 为数据位。
signed char xxxx xxxx (x:0~1)
最高位为1表示负数 最高位为0 表示正数
负数:1xxx xxxx 正数:0xxx xxxx
signed char 他的表示范围:1111 1111~1000 0000 ~0000 0000 ~ 0111 1111
案例:一个字节:-10 == 1000 1010
案例:
#includeint main(int argc,char *argv) { //定义一个有符号int signed int num1 = 10;//num1有符号int //signed 默认是省略(推荐) int num2 = 10;//num2也是有符号int //unsigned 表示无符号数 不能省略 unsigned int num3 = 10; return 0; }
知识点4【结构体 struct和共用体union】
1、struct 结构体 中的成员 拥有独立的空间
struct data1{
char a;
short b;
int c;
};
a b c就是结构体data1中的成员
2、union 共用体 中的成员 共享同一份空间
union data2{
char a;
short b;
int c;
};
知识点5【enum】
enum 枚举 将变量要赋值的值 一一列举出来
enum BOOL{false,true};
enum BOOL bool = false;
知识点6【void】
不能用void 定义变量
int num;//√
void num;//× 系统不能确定给num开辟多大的空间



