📅  最后修改于: 2023-12-03 14:59:38.533000             🧑  作者: Mango
在 C 中,我们可以使用不同的数据类型来存储不同类型的数据,如整数、浮点数、字符等。除了这些基本数据类型外,C 还提供了其他数据类型,如枚举类型、结构体类型、共用体类型等。在本文中,我们将介绍 C 中的各种数据类型,并解释它们的用途和限制。
在 C 中,有四种整型数据类型:char
、short
、int
和 long
。这些整型数据类型用于存储不同大小的整数值。
C 中的 char
数据类型用于存储字符值。在大多数系统中,char
数据类型使用 1 个字节存储一个字符,可以表示 ASCII 编码中的任何字符。
char ch = 'a'; /* 定义一个 char 类型变量 ch,并将其初始化为字符 'a'*/
C 中的 short
数据类型用于存储短整数值。在大多数系统中,short
数据类型使用 2 个字节存储一个短整数,在范围上限制为 -32767 到 32767。
short s = -1234; /* 定义一个 short 类型变量 s,并将其初始化为 -1234 */
C 中的 int
数据类型用于存储整数值。在大多数系统中,int
数据类型使用 4 个字节存储一个整数,在范围上限制为 -2147483648 到 2147483647。
int i = -12345; /* 定义一个 int 类型变量 i,并将其初始化为 -12345 */
C 中的 long
数据类型用于存储长整数值。在大多数系统中,long
数据类型使用 4 个字节或 8 个字节存储一个长整数,在范围上限制为 -9223372036854775808 到 9223372036854775807。
long l = -123456789L; /* 定义一个 long 类型变量 l,并将其初始化为 -123456789L */
在 C 中,有两种浮点数据类型:float
和 double
。这些浮点数据类型用于存储浮点数值,即带有小数部分的数值。
C 中的 float
数据类型用于存储单精度浮点数值。在大多数系统中,float
数据类型使用 4 个字节存储一个单精度浮点数,在范围上限制为大约 ±3.40282347E+38。
float f = 3.14f; /* 定义一个 float 类型变量 f,并将其初始化为 3.14f */
C 中的 double
数据类型用于存储双精度浮点数值。在大多数系统中,double
数据类型使用 8 个字节存储一个双精度浮点数,在范围上限制为大约 ±1.7976931348623157E+308。
double d = 3.1415926; /* 定义一个 double 类型变量 d,并将其初始化为 3.1415926 */
C 中的枚举类型用于定义具有离散值的变量,如月份数、星期几等。枚举类型定义可以包含多个枚举常量,每个枚举常量都有一个关联的整数值(可自定义).
/* 定义一个枚举类型 months */
enum months {
JAN = 1, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC
};
C 中的结构体是一种高级数据类型,用于组合多个不同类型的变量。结构体使用关键字 struct
定义,可以定义多个变量,每个变量可以有不同的类型。
/* 定义一个结构体 person */
struct person {
char name[50];
int age;
float height;
};
/* 声明一个结构体变量 john */
struct person john;
C 中的共用体类型用于存储相同的内存位置的不同类型的变量。共用体使用关键字 union
定义,可以定义多个变量,每个变量可以有不同的类型,但同时只能使用一个变量。
/* 定义一个共用体类型 data */
union data {
int i;
float f;
char str[20];
};
/* 声明一个共用体变量 d */
union data d;