int 是 C 语言中最基本、最常用的数据类型之一,理解它对于学习 C 语言至关重要。

int 是什么?
int 是 integer 的缩写,意思是“整数”,在 C 语言中,int 关键字用来声明一个变量,这个变量用于存储整数值,10, -150, 0, 32767 等。
当你想在程序中处理一个不带小数点的数字时,就应该使用 int 类型。
int 的主要用途
int 主要用于以下两种情况:
a) 声明整数变量
这是最常见的用法,你告诉编译器:“我需要一个名为 x 的变量,它用来存储整数。”

语法:
int variable_name;
示例:
#include <stdio.h>
int main() {
int age; // 声明一个名为 age 的整型变量
int score; // 声明一个名为 score 的整型变量
int count = 100; // 声明并初始化一个名为 count 的整型变量
age = 25; // 给 age 变量赋值为 25
score = 95;
printf("年龄: %d\n", age); // %d 是整数的格式化输出符号
printf("分数: %d\n", score);
printf("计数: %d\n", count);
return 0;
}
b) 声明函数返回整数类型
当你的函数需要执行一个计算并返回一个整数结果时,函数的返回类型就应该声明为 int。
语法:
int function_name();

示例:
#include <stdio.h>
// 声明一个函数,它接收两个整数,并返回它们的和(整数)
int add(int a, int b) {
int result = a + b;
return result; // 返回一个整数
}
int main() {
int sum = add(10, 20); // 调用 add 函数,并将返回的整数值赋给 sum
printf("10 + 20 = %d\n", sum); // 输出: 10 + 20 = 30
return 0;
}
int 的核心特性
a) 内存大小
int 类型在内存中占用的空间是固定的,但这取决于你的操作系统和编译器(具体来说是 int 的字节数)。
- 在大多数现代的 32 位和 64 位系统(如 Windows, Linux, macOS)上,一个
int通常占用 4 个字节(32 位)。 - 在一些非常古老的 16 位系统上,它可能占用 2 个字节。
你可以使用 sizeof 运算符来查看在你的系统上 int 的大小:
#include <stdio.h>
int main() {
printf("int 类型的大小是: %zu 字节\n", sizeof(int));
// 在 64 位系统上,通常会输出: int 类型的大小是: 4 字节
return 0;
}
b) 取值范围
由于 int 有固定的大小,它能表示的数值范围也是有限的。
int是 4 字节(32 位),它可以表示的范围是:- 最大值 (2³¹ - 1): 2,147,483,647
- 最小值 (-2³¹): -2,147,483,648
如果你试图存储一个超出这个范围的值,就会发生整数溢出,导致结果不正确。
示例(整数溢出):
#include <stdio.h>
int main() {
int big_number = 2147483647; // int 的最大值
printf("big_number 的值是: %d\n", big_number);
big_number = big_number + 1; // 超出范围,发生溢出
printf("加 1 后的值是: %d\n", big_number); // 输出可能是一个负数,如 -2147483648
return 0;
}
int 的常见变体
为了满足不同的需求,C 语言还提供了 int 的几个变体,它们的关键区别在于大小和符号。
| 类型 | 大小(典型) | 取值范围(典型) | 描述 |
|---|---|---|---|
int |
4 字节 | -2,147,483,648 到 2,147,483,647 | 标准整数,可正可负。 |
unsigned int |
4 字节 | 0 到 4,294,967,295 | 无符号整数,只能存储非负数,范围是 int 的两倍,但没有负数。 |
short int (或 short) |
2 字节 | -32,768 到 32,767 | 短整数,用于节省内存,当确定数值不大时使用。 |
long int (或 long) |
4 或 8 字节 | 依赖系统 | 长整数,在 64 位系统上通常是 8 字节,范围更大。 |
long long int (或 long long) |
8 字节 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 双长整数,用于存储非常大的整数。 |
示例:
#include <stdio.h>
int main() {
int my_int = -123;
unsigned int my_unsigned_int = 123; // 不能是负数
short my_short = 32767;
long my_long = 123456789L; // L 后缀表示 long 类型
long long my_long_long = 123456789012345LL; // LL 后缀表示 long long 类型
printf("int: %d\n", my_int);
printf("unsigned int: %u\n", my_unsigned_int); // %u 用于无符号整数
printf("short: %d\n", my_short);
printf("long: %ld\n", my_long); // %ld 用于 long
printf("long long: %lld\n", my_long_long); // %lld 用于 long long
return 0;
}
| 特性 | 描述 |
|---|---|
| 全称 | integer (整数) |
| 用途 | 声明存储整数的变量。 声明返回整数的函数。 |
| 大小 | 通常是 4 字节(32 位),但取决于系统。 |
| 范围 | 通常是 -2,147,483,648 到 2,147,483,647。 |
| 变体 | unsigned, short, long, long long,用于满足不同的范围和内存需求。 |
| 格式化输出 | 使用 %d。 |
int 是 C 语言编程的基石,掌握它的用法和特性是编写正确、高效程序的第一步。
