C语言的数据类型
什么是数据类型?
数据类型是指在编程语言中,对数据的分类和定义,它规定了数据的存储方式、占用的内存大小、可以进行的操作以及相应的操作规则。在不同的编程语言中,数据类型的概念和种类可能会有所不同,但它们的核心作用是相同的,即定义数据的属性和行为。
一、内置类型
1.字符型
char //字符型
signed char //有符号的字符型
unsigned char //无符号的字符型
//定义一个字符A
char a = 'A';
注: char定义的是单个字符,不可在单引号中写入两个字符,假设输入下面的代码。
char a = 'abcd';
printf("%c", a);
我们可以在VS中看到以下错误效果:
2.整形
short [int] //短整型
[signed] short [int]
unsigned short [int]
int //整形
[signed] int
unsigned int
long [int] //长整形
[signed] long [int]
unsigned long [int]
long long [int] 长长整形
[signed] long long [int]
unsigned long long [int]
注: 不同的整形可以表达不同大小的数据,整形只能表示整数,无符号的整形只能表达大于或等于0的数
3.浮点型
float //单精度浮点型
double //双精度浮点型
long double
注: float与double类型都是表示小数的类型,但是float的精度没用double高,由此可知,long double的精度更高。
4.布尔类型
_Bool ture
_Bool false
布尔类型可以看成一种反应对(true)与错(false)的数据类型,C语言中在C99后引入了_Bool类型,我们也可以调用stdbool.h直接编写 bool a = true 这样的代码。
二、自定义类型
1.数组
2.结构体-struct
3.枚举-enum
4.联合体-union
这些我会在后面的文章补充
三、各数据类型的大小
上面说过,不同的数据类型会占用不同的内存大小,在C语言中我们可以通过sizeof查看数据类型占用的内存大小(字节数)。
printf("char = %zd\n", sizeof(char));
printf("short = %zd\n", sizeof(short));
printf("int = %zd\n", sizeof(int));
printf("long = %zd\n", sizeof(long));
printf("long long = %zd\n", sizeof(long long));
printf("float = %zd\n", sizeof(float));
printf("double = %zd\n", sizeof(double));
printf("long double = %zd\n", sizeof(long double));
printf("bool = %zd\n", sizeof(bool));
我们可以在VS中得到以下结果:
类型 | 大小 |
---|---|
char | 1Byte |
short | 2Byte |
int | 4Byte |
long | 4Byte |
long long | 8Byte |
float | 4Byte |
double | 8Byte |
long double | 8Byte |
bool | 1Byte |
End
最后,谢谢大家看到这里,C语言的数据基础数据类型我就不多说辣!希望对能帮助刚刚学习C语言的小白有些作用!