C 数据类型
C 语言是一种静态数据类型的编程语言。在 C 语言中,所有的变量和函数都必须先定义后使用,定义变量时需要明确指定其数据类型。C 语言中的数据类型可以分为基本数据类型和派生数据类型两类。
基本数据类型
C 语言中的基本数据类型包括整型、浮点型、字符型和布尔型。
- 整型数据类型:
int
、short
、long
、long long
- 浮点型数据类型:
float
、double
、long double
- 字符型数据类型:
char
- 布尔型数据类型:
bool
整型数据类型
整型数据类型用于表示整数,C 语言中定义了以下几种整型数据类型:
数据类型 | 字节数 | 最大取值范围 |
---|---|---|
int | 4 | -2,147,483,648 ~ 2,147,483,647 |
short | 2 | -32,768 ~ 32,767 |
long | 4 | -2,147,483,648 ~ 2,147,483,647 |
long long | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
定义一个整型变量的语法格式如下:
数据类型 变量名;
示例:
int a;
a = 10;
浮点型数据类型
浮点型数据类型用于表示实数,C 语言中定义了以下几种浮点型数据类型:
数据类型 | 字节数 | 小数位数 | 最大取值范围 |
---|---|---|---|
float | 4 | 6 | 3.4e-38 ~ 3.4e+38 |
double | 8 | 15 | 1.7e-308 ~ 1.7e+308 |
long double | 10/12 | 18 | 1.1e-4932 ~ 1.1e+4932 |
定义一个浮点型变量的语法格式如下:
数据类型 变量名;
示例:
float b;
b = 3.14;
字符型数据类型
字符型数据类型用于表示单个字符,C 语言中只定义了一种字符型数据类型 char
。
定义一个字符型变量的语法格式如下:
char c;
示例:
char c;
c = 'A';
布尔型数据类型
布尔型数据类型用于表示布尔值,只有两个值:true
和 false
。C 语言中没有直接定义布尔型数据类型,可以使用 stdbool.h
头文件中的 bool
宏定义。
定义一个布尔型变量的语法格式如下:
#include <stdbool.h>
bool flag;
示例:
#include <stdbool.h>
bool flag;
flag = true;
派生数据类型
派生数据类型是由基本数据类型衍生出来的数据类型,C 语言中常用的派生数据类型包括数组、指针、结构体和联合体等。
数组
数组是一组相同类型的元素的集合,可以使用数组在内存中存储和操作一系列数据。
定义一个数组的语法格式如下:
数据类型 数组名[数组长度];
示例:
int arr[10];
指针
指针是一个变量,其值为另一个变量的地址。指针变量的类型是由所指向的变量的类型决定的。通过指针变量可以间接访问其所指向的变量。
定义一个指针变量的语法格式如下:
数据类型 *指针变量名;
示例:
int a;
int *p;
p = &a;
结构体
结构体是一种自定义的数据类型,可以将多个不同类型的数据整合在一起。
定义一个结构体的语法格式如下:
struct 结构体名 {
成员1;
成员2;
...
};
示例:
struct Student {
char name[10];
int age;
float score;
};
联合体
联合体也是一种自定义的数据类型,和结构体类似,不同的是联合体中的所有成员共享同一块内存空间。
定义一个联合体的语法格式如下:
union 联合体名 {
成员1;
成员2;
...
};
示例:
union {
int a;
float b;
char c;
} u;