C语言的基本数据类型主要包括以下几种:
整型(Integer Types):
int:基本整型,通常占用4个字节(取决于编译器和平台)。
short 或 short int:短整型,通常占用2个字节。
long 或 long int:长整型,通常占用4个字节(但在某些平台或编译器上可能更大)。
long long 或 long long int:长长整型,通常占用8个字节。
浮点型(Floating Point Types):
float:单精度浮点型,通常占用4个字节。
double:双精度浮点型,通常占用8个字节。
long double:扩展双精度浮点型,其大小可能因平台和编译器而异,但通常比double更大。
字符型(Character Types):
char:字符型,通常占用1个字节。
signed char:有符号字符型,通常占用1个字节。
unsigned char:无符号字符型,通常占用1个字节。
布尔型(Boolean Type):
C99标准引入了_Bool或bool类型,但通常它只占用1个字节。它只有两个值:0(表示false)和1(表示true)。
枚举类型(Enumeration Types):
enum:用于创建用户定义的类型,其中每个值都有一个标签和一个与之关联的整数值。
指针类型(Pointer Types):
指针是一个变量,其值为另一个变量的地址。例如,int *p;定义了一个指向int类型变量的指针。
数组类型(Array Types):
数组是一组具有相同类型的变量的集合。例如,int arr[10];定义了一个包含10个整数的数组。
结构体类型(Structure Types):
struct:允许用户组合不同类型的数据到一个单一的数据类型中。
联合体类型(Union Types):
union:允许在相同的内存位置存储不同的数据类型,但一次只能使用一个。
函数类型(Function Types):
函数可以有返回类型,例如int func()或void func()。
除了上述基本数据类型,C语言还支持派生数据类型,如指针的指针、数组的数组、结构体的指针等。此外,通过typedef关键字,可以为已有的数据类型定义新的名称。
需要注意的是,各种数据类型的具体大小和内存布局可能会因编译器和平台的不同而有所差异。在实际编程中,可以使用sizeof运算符来确定某个数据类型在特定平台上的大小。
示例:
整型(Integer Types) :
int: 通常用于整数。
short: 短整型。
long: 长整型。
long long: 更长的整型。
|
int a = 10; |
|
short b = 20; |
|
long c = 30L; // 注意L后缀 |
|
long long d = 40LL; // 注意LL后缀 |
浮点型(Floating Point Types) :
float: 单精度浮点数。
double: 双精度浮点数。
long double: 扩展的双精度浮点数。
|
float e = 10.5F; // 注意F后缀 |
|
double f = 20.5; |
|
long double g = 30.5L; // 注意L后缀 |