C语言的数据类型关键字是语言标准中明确规定的、用于标识不同数据类型的保留字,开发者不能将这些关键字作为变量名、函数名等自定义标识符使用,它们是构建C语言程序数据体系的基础。

C语言基本数据类型关键字
基本数据类型是C语言中最基础的数据类型,对应的关键字如下:
- int:用于定义整型变量,通常占用4个字节(不同编译环境可能有差异),用于存储整数。
- char:用于定义字符型变量,占用1个字节,既可以存储单个字符,也可以存储小范围的整数。
- float:用于定义单精度浮点型变量,占用4个字节,存储带小数的数值,精度较低。
- double:用于定义双精度浮点型变量,占用8个字节,存储带小数的数值,精度比float更高。
- void:表示无类型,通常用于函数返回值、函数参数或者指针类型定义,说明没有对应的值或者类型不确定。
构造类型相关关键字
构造类型是由基本数据类型组合或者衍生出来的类型,对应的关键字包括:
- struct:用于定义结构体类型,可以把多个不同类型的变量组合成一个新的复合数据类型。
- union:用于定义联合体类型,多个成员共享同一块内存空间,同一时间只能存储其中一个成员的值。
- enum:用于定义枚举类型,把可能的取值一一列举出来,变量只能取列举出来的这些值。
类型修饰关键字
这些关键字用来修饰基本数据类型,改变数据的存储特性或者长度:
- short:修饰int类型,定义短整型,通常占用2个字节,存储范围比int小。
- long:可以修饰int和double,long int通常占用8个字节,long double的字节长度根据编译环境不同有差异,精度更高。
- signed:修饰整型和字符型,表示数据带符号,默认情况下整型和字符型就是带符号的,可省略。
- unsigned:修饰整型和字符型,表示数据不带符号,只能存储非负整数,存储范围比带符号的同类型大。
其他数据类型相关关键字
除了上述类型,还有和指针、类型重定义相关的数据类型关键字:
- typedef:用于给已有的数据类型起一个新的别名,方便代码编写和阅读。
关键字使用示例
下面是一些使用上述数据类型关键字定义变量的示例代码:
#include <stdio.h>
// 使用typedef给int起别名
typedef int my_int;
// 定义枚举类型
enum week {
MON, TUE, WED, THU, FRI, SAT, SUN
};
int main() {
// 基本类型变量定义
int a = 10;
char c = 'A';
float f = 3.14f;
double d = 3.1415926;
void *p = NULL;
// 修饰类型变量定义
short s = 20;
long l = 100000L;
unsigned int u = 50;
// 构造类型变量定义
struct student {
char name[20];
int age;
} stu = {"Tom", 18};
union data {
int i;
float f;
} ud;
enum week today = MON;
// typedef别名使用
my_int b = 30;
printf("a=%d, c=%c, f=%.2fn", a, c, f);
return 0;
}
注意事项
需要注意,C语言的关键字是区分大小写的,比如int是合法关键字,Int或者INT都不是关键字,不能作为数据类型标识使用。另外不同C语言标准(比如C89、C99、C11)可能会新增少量关键字,但上述列出的都是所有标准都支持的通用数据类型关键字,掌握这些就可以满足大部分开发场景的需求。