在C语言中,数据类型是编程的基础,它决定了变量如何存储和操作数据。本章主要讲解了C语言的四种基本数据类型:基本数据类型、构造数据类型、指针类型和空类型。
1. **基本数据类型**:这些类型是C语言中最基础的,它们的值不可进一步分解。C语言中的基本数据类型包括整型(如int)、浮点型(如float和double)、字符型(如char)以及布尔型(在某些实现中)。例如,`int`用于存储整数,`float`用于存储单精度浮点数,`char`用于存储单个字符。
2. **构造数据类型**:构造数据类型允许我们将多个基本数据类型或构造类型组合在一起。C语言中的构造数据类型包括:
- **数组类型**:允许你创建一组相同类型的数据集合。例如,`int arr[10]`声明了一个包含10个整数的数组。
- **结构体类型**(struct):允许你定义包含多个不同类型成员的复合类型。例如,`struct Person {char name[20]; int age;}`定义了一个包含姓名字符串和年龄整数的结构体。
- **联合体类型**(union):与结构体相似,但所有成员共享相同的内存空间,意味着任何时候只能访问其中一个成员的值。
3. **指针类型**:指针变量存储的是其他变量的内存地址。指针在C语言中扮演着至关重要的角色,因为它们允许直接访问和修改内存中的值。例如,`int *p`声明了一个指向整数的指针。
4. **空类型**(void):这个类型用于函数定义,表示函数不返回任何值。例如,`void myFunction()`表示myFunction函数执行完毕后不会返回任何值。
除了基本数据类型,C语言还区分了变量和常量。常量在程序执行期间其值保持不变,而变量的值可以改变。整型常量可以用八进制(前缀0),十六进制(前缀0x)或十进制(无前缀)表示,并且可以有符号或无符号。长整型常量通过在其末尾添加后缀`L`或`l`来指定。
例如,八进制数015(十进制13)、十六进制数0X2A(十进制42)和十进制数123都是合法的整型常量。需要注意的是,不同进制的数值必须根据其前缀正确表示,否则可能导致错误。
在实际编程中,理解并正确使用这些数据类型是编写有效和高效C程序的关键。后续章节会更深入地探讨存储类型和作用域,以及其他构造数据类型如枚举(enum)和位字段(bit-field)。