数据类型是计算机编程中至关重要的概念,它用于描述程序中处理的数据种类。在众多编程语言中,C 语言的数据类型丰富且具有灵活性。本文将详细介绍 C 语言中的数据类型,包括基本数据类型、复合数据类型、指针和枚举等,并通过实例演示各种数据类型的使用方法。
一、基本数据类型
C 语言的基本数据类型包括整型(int)、浮点型(float、double)、字符型(char)和布尔型(_Bool)等。这些数据类型在内存中的表示方式和大小有所不同,如下表所示:
| 数据类型 | 符号 | 字节大小 | 取值范围 |
| -------- | ---------- | -------- | --------------------------------- |
| int | 无 | 4 | -2147483648 到 2147483647 |
| float | f | 4 | 约 -3.4E38 到 3.4E38 |
| double | df | 8 | 约 -1.8E308 到 1.8E308 |
| char | 无 | 1 | 0 到 255 |
| _Bool | 无 | 1 | 0(假)和 1(真) |
1. 整型(int)
整型用于表示整数,其在内存中采用补码表示。整型可以分为有符号整型和无符号整型,分别用符号位(sign)表示正负。在 C 语言中,有符号整型的取值范围为 -2147483648 到 2147483647,无符号整型的取值范围为 0 到 2147483647。
实例:
#include <stdio.h>int main() { int a = 10; int b = -5; printf("a 的值为:%d\n", a); printf("b 的值为:%d\n", b); return 0;}
2. 浮点型(float、double)
浮点型用于表示实数,包括单精度浮点型(float)和双精度浮点型(double)。单精度浮点型的有效位数为 6-7 位,双精度浮点型的有效位数为 15 位。浮点型在内存中的表示采用 IEEE 754 标准。
实例:
#include <stdio.h>int main() { float f1 = 3.14; double d1 = 3.14; printf("f1 的值为:%f\n", f1); printf("d1 的值为:%lf\n", d1); return 0;}
3. 字符型(char)
字符型用于表示单个字符,其在内存中占用 1 个字节。字符型数据的取值范围为 0 到 255,其中 ASCII 码值为 128 的字符(如换行符、制表符等)不可见。
实例:
#include <stdio.h>int main() { char c1 = 'A'; char c2 = 'Z'; printf("c1 的值为:%c\n", c1); printf("c2 的值为:%c\n", c2); return 0;}
4. 布尔型(_Bool)
布尔型用于表示真(1)或假(0),在内存中占用 1 个字节。布尔型通常用于条件判断和逻辑运算。
实例:
#include <stdio.h>int main() { _Bool b1 = true; _Bool b2 = false; if (b1) { printf("b1 为真\n"); } else { printf("b1 为假\n"); } if (b2) { printf("b2 为真\n"); } else { printf("b2 为假\n"); } return 0;}