在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
C 中的类型可分为:
1.基本类型
它们是算术类型,包括两种类型:整数类型和浮点类型。
- 整数类型
类型 | 存储大小 | 值范围 |
---|---|---|
char | 1字节 | -128到127 或 0到255 |
unsigned char | 1字节 | 0到255 |
signed char | 1字节 | -128到127 |
int | 2或4字节 | -32,768到32,767 或 -2,147,483,648到2,147,483,647 |
unsigned int | 2或4字节 | 0到65535 或 0到4,294,967,295 |
short | 2字节 | -32,768到32,767 |
unsigned short | 2字节 | 0到65,535 |
long | 4字节 | -2,147,483,648到2,147,483,647 |
unsigned long | 4字节 | 0到4,294,967,295 |
- 浮点类型
类型 | 存储大小 | 值范围 | 精度 |
---|---|---|---|
float | 4字节 | 1.2E-38 到 3.4E+38 | 6位小数 |
double | 8字节 | 2.3E-308 到 1.7E+308 | 15位小数 |
long double | 16字节 | 3.4E-4932 到 1.1E+4932 | 19位小数 |
2.枚举类型
它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
3.void类型
void类型表示没有可用的值。
类型 | 作用 |
---|---|
函数返回为空 | 不返回值的函数的返回类型为空,例如void exit(int status); |
函数参数为空 | 不带参数的函数可以接受一个void,例如int main(void); |
指针指向void | 类型为void *的指针代表对象的地址,而不是类型,例如,内存分配函数void *malloc(size_t size);返回指向void的指针,可以转换为任何数据类型。 |
4.派生类型
它们包括有:指针类型、数组类型、结构类型、共用体类型和函数类型。
注意
:
1.数组类型和结构统称为聚合类型。
2.函数的类型指的是函数返回值的类型。
3.书写
-> 整数类型
a.默认为10进制,例如,10,20
b.以0开头为8进制,例如,012,024
c.以0b开头为2进制,例如,0b1010
d.以0x开头为16进制,例如,0x0a
-> 浮点类型
a.单精度常量:2.3f
b.双精度常量:2.3,默认为双精度
-> 字符型常量
用英文单引号括起来,只保存一个字符’a’(’\n’为转义字符)
-> 字符串常量
用英文的双引号引起来,可以保存多个字符:“abc”
4.语言中如果一个表达式中含有不同类型的常量和变量,在计算时,会将它们自动转换为同一种类型
-> 自动转换规则
a.浮点数赋给整型,该浮点小数被舍去;
b.整数赋给浮点型,数值不变,但是被存储到相应的浮点型变量中。
-> 强制转换
强制类型转换形式(类型说明符)(表达式),例如,(int)a 或 (int)(x+y) 等。
如有不对或不足的地方,希望大神们能指点一二,谢谢(⁄ ⁄•⁄ω⁄•⁄ ⁄)