C 数据类型

  • Post category:C

C 数据类型

C 语言是一种静态数据类型的编程语言。在 C 语言中,所有的变量和函数都必须先定义后使用,定义变量时需要明确指定其数据类型。C 语言中的数据类型可以分为基本数据类型和派生数据类型两类。

基本数据类型

C 语言中的基本数据类型包括整型、浮点型、字符型和布尔型。

  • 整型数据类型:intshortlonglong long
  • 浮点型数据类型:floatdoublelong 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';

布尔型数据类型

布尔型数据类型用于表示布尔值,只有两个值:truefalse。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;