目录
一,数据类型
数据类型,定义了数据的类别,用来如何解释数据,以及是怎样开辟内存,访问内存的;
在C语言中,数据的类型有:
- 基本类型 char、short,int、long、long long、float、double;
- 构造类型 数组、结构体、枚举、共用体;
- 指针类型;
- 空类型 void;
注:数值类型有不止一种类型,其原因在于不同种类的类型数据大小不一样,对范围较小的数值可使用较小的数据类型,从而起到节约内存,提高效率的作用;
二,不同基本类型数据大小
数据大小,即其所申请内存的大小;
可使用库函数 sizeof(数据类型);
int main()
{
short age = 20; //向内存申请2个字节内存用于存放20
float weight = 70.5; //向内存申请4个字节内存用于存放70.5
return 0;
}
int main()
{
printf("%d\n", sizeof(char)); //1
printf("%d\n", sizeof(short)); //2
printf("%d\n", sizeof(int)); //4
printf("%d\n", sizeof(long)); //4
printf("%d\n", sizeof(long long)); //8
printf("%d\n", sizeof(float)); //4
printf("%d\n", sizeof(double)); //8
return 0;
}
注:long类型大小可以4或者是8,只要大于sizeof (int) 即可;
三,数据大小的单位
Bit 比特位 0/1
Byte 字节 ,8 Bit
KB ,2^10(1024)Byte
MB ,2^10(1024)KB
GB ,2^10(1024)MB
TB ,2^10(1024)GB
PB ,2^10(1024)TB
四,各种数据类型的打印
有符号十进制整型
- printf("%d\n",short/int/long/long long)
char a = 'a'; short b = 9; int c = 9; long d = 9; long long e = 9; printf("%d %d %d %d %d\n", a, b, c, d, e); //97 9 9 9 9
无符号十进制类型
- printf("%u\n",char/short......)
- unsigned int(直接补码输出)
int a = -1; printf("%u\n", a); //4294967295
无符号八进制
- printf("%o\n",10)
int a = 10; printf("%o\n", a); //12
无符号十六进制
- printf("%x\n",0x19f),以小写abcdef表示;
- printf("%X\n",0x19f),以大写ABCDEF表示;
int a = 15; printf("%x %X\n", a, a); //f F
单精度浮点
- printf("%f\n",float)
- printf("%F\n",float)
float a = 3.14; printf("%f %F\n", a, a); //3.140000 3.140000
双精度浮点
- printf("%lf\n",double)
double a = 3.14; printf("%lf\n", a); //3.140000
单字符
- printf("%c\n",char)
char a = 97; printf("%c\n", a); //a
字符串
- printf("%s\n",string)
char a[] = "abcd"; printf("%s\n", a); //abcd
地址(十六进制)
- printf("%p\n",指针)
int a = 9; printf("%p %p\n", &a, a); //00DDFA94 00000009