C语言基本数据类型有哪些?

99ANYc3cd6
预计阅读时长 9 分钟
位置: 首页 C语言 正文

C语言的数据类型是构建程序的基础,它定义了变量可以存储的数据的种类、大小以及可以对其执行的操作,最基本的数据类型通常可以分为以下四大类:

c语言中最基本的数据类型包括
(图片来源网络,侵删)
  1. 整型
  2. 浮点型
  3. 字符型
  4. 空类型

下面我们对每一类进行详细说明。


整型

整型用于存储没有小数部分的整数,如 -10, 0, 255 等。

类型 关键字 描述 典型大小 范围示例 (32位系统)
基本整型 int 最常用的整型,大小通常与系统字长相同 4 字节 -2,147,483,648 到 2,147,483,647
短整型 short 通常比 int 小,至少16位 2 字节 -32,768 到 32,767
长整型 long 通常不小于 int,至少32位 4 或 8 字节 -2,147,483,648 到 2,147,483,647 (或更大)
长长整型 long long 保证不小于 long,至少64位 8 字节 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807
无符号整型 unsigned int 只能存储非负整数,范围是相应有符号类型的两倍 4 字节 0 到 4,294,967,295
无符号短整型 unsigned short 同上 2 字节 0 到 65,535
无符号长整型 unsigned long 同上 4 或 8 字节 0 到 4,294,967,295 (或更大)
无符号长长整型 unsigned long long 同上 8 字节 0 到 18,446,744,073,709,551,615

注意

  • signed 关键字是默认的,signed intint 是等价的。
  • 整型的大小(字节数)在不同编译器和操作系统上可能略有不同,但 sizeof 运算符可以让你在编译时确定具体大小。

浮点型

浮点型用于存储带有小数部分的实数,如 14, -0.001, 0

c语言中最基本的数据类型包括
(图片来源网络,侵删)
类型 关键字 描述 典型大小 精度示例
单精度浮点型 float 32位浮点数,提供约7位有效数字 4 字节 1415927
双精度浮点型 double 64位浮点数,提供约15-16位有效数字 8 字节 141592653589793
长双精度浮点型 long double 通常比 double 精度更高或相同 8, 12, 或 16 字节 依赖于实现

注意

  • 在C语言中,如果一个浮点数没有后缀(如 14),它默认被当作 double 类型。
  • 如果你想明确使用 float 类型,可以在数字后加上 fF 后缀(如 14f)。

字符型

字符型用于存储单个字符,如 'A', 'z', '7', 。

类型 关键字 描述 典型大小 范围
字符型 char 存储一个字符,本质上是小整型(ASCII码) 1 字节 -128 到 127 (或有符号 0 到 255)

重要概念

  • 字符的本质:在C语言中,char 类型实际上是一个小范围的整型,它存储的是字符在字符编码表(如ASCII)中对应的整数值。'A' 的ASCII码是65,char c = 'A'; 实际上是将整数值65存储在变量 c 中。
  • 有符号与无符号char 类型本身可以是 signed char(可以存储负数)或 unsigned char(只能存储0-255),这取决于编译器的实现,如果你只关心字符本身,通常不需要关心这个细节。

空类型

空类型是一种特殊的类型,它不表示任何数据值。

c语言中最基本的数据类型包括
(图片来源网络,侵删)
类型 关键字 描述
空类型 void 用于表示函数没有返回值。
用于表示函数没有参数。
作为通用指针的类型 (void *)。

示例

// 函数没有返回值
void print_message() {
    printf("Hello, World!\n");
}
// 函数没有参数
int get_user_input(void) {
    int input;
    scanf("%d", &input);
    return input;
}

总结表格

类别 关键字 描述 大小 (典型)
整型 int, short, long, long long 存储整数 2, 4, 8 字节
浮点型 float, double, long double 存储带小数的数 4, 8, 12+ 字节
字符型 char 存储单个字符 1 字节
空类型 void 无类型,用于函数或指针 N/A

如何选择使用哪种类型?

  • 整数:优先使用 int,如果确定数值不会超出 short 的范围,可以使用 short 节省内存,如果数值可能非常大,使用 long long,如果确定数值是非负的,使用 unsigned 类型可以获得更大的正数范围。
  • 小数:默认使用 double,因为它精度更高,性能在现代CPU上通常和 float 一样好,只在内存极其紧张或明确知道精度要求不高时才使用 float
  • 字符:处理单个字符时,使用 char
  • void:主要用于函数声明和指针,不能用来定义普通变量(如 void a; 是错误的)。
-- 展开阅读全文 --
头像
织梦图片集自定义字段如何添加使用?
« 上一篇 今天
织梦二级导航样式如何修改?
下一篇 » 今天
取消
微信二维码
支付宝二维码

目录[+]