C 语言数据类型介绍

本文介绍 C 语言编程中的基本数据类型,例如 intfloatchar 等。

在 C 语言编程中,数据类型是变量的声明。这决定了与变量关联的数据的类型和大小。例如,

int myVar;

这里,变量 myVarint (整数)类型的变量。 int 的大小为 4 个字节。

基本类型

下表列出了 C 语言编程中常用的数据类型,以及每个数据类型占用的内存大小。

类型 大小(字节)
int 至少 2 个,通常 4 个
char 1
float 4
double 8
short int 通常 2 个
unsigned int 至少 2 个,通常 4 个
long int 至少 4 个,通常 8 个
long long int 至少 8
unsigned long int 至少 4
unsigned long long int 至少 8
signed char 1
unsigned char 1
long double 至少 10 个,通常为 12 或 16 个

整数

整数是可以是零、正和负值但没有小数值的数。例如: 0 , -5 , 10

我们用 int 声明一个整数变量:

int id;

这里, id 是一个整数类型的变量。

在 C 语言编程中,我们可以在一个语句中一次声明多个变量。例如,

int id, age;

int 的大小通常为 4 个字节(32 位),取值范围从 -21474836482147483647,即 -231231-1

浮动数和双精度浮点数

floatdouble 用于保存实数。

float salary;
double price;

在 C 中,浮点数也可以用指数表示。例如,

float normalizationFactor = 22.442e2;

floatdouble 有什么区别?

float (单精度浮点数据类型)的大小为 4 个字节, double (双精度浮点数据类型)的大小为 8 个字节。

字符

关键字 char 用于声明字符类型变量。例如,

char test = 'h';

字符变量的大小为 1 个字节。

void

void 是不完整的类型。它的意思是“没有”或“没有类型”。

例如,如果一个函数没有返回任何东西,它的返回类型应该是 void .

请注意,您不能创建 void 类型变量。

长整数和短整数

如果需要使用大数,可以使用长整数 long 类型。就是这样:

long a;
long long b;
long double c;

这里的变量 ab 可以存储整数值,c 可以存储浮点数。

如果您确定只会使用一个小整数([−32,767, +32,767] 之间的数),您可以使用短整数 short 类型。

short d;

您可以使用 sizeof() 运算符检查变量的大小。

#include <stdio.h>
int main() {
  short a;
  long b;
  long long c;
  long double d;

  printf("size of short = %d bytes\n", sizeof(a));
  printf("size of long = %d bytes\n", sizeof(b));
  printf("size of long long = %d bytes\n", sizeof(c));
  printf("size of long double= %d bytes\n", sizeof(d));
  return 0;
}

输出:

size of short = 2 bytes
size of long = 8 bytes
size of long long = 8 bytes
size of long double= 16 bytes

有符号和无符号

在 C 中, signedunsigned 是类型修饰符。其中,signed 标识有符号的数,unsigned 表示无符号的数。无符号的意思是没有负数。

unsigned int x;
int y;

这里,我们使用了 unsigned 修饰符,因此变量 x 只能保存零和正值。

int 大小为 4 个字节,变量 y 可以保存从 -231231-1 的值,而无符号数变量 x 可以保存从 0232-1 的值。

其他数据类型

C 语言编程中定义的其他数据类型是:

  • 布尔类型
  • 枚举类型
  • 复合类型

派生数据类型

从基本数据类型派生的数据类型是派生类型。例如:数组、指针、函数类型、结构体等。

我们将在后面的教程中了解这些派生数据类型。