Z
ZHANK
入门基础

基本数据类型

int、float、double、char、sizeof 运算符、类型范围

基本数据类型

C 语言的数据类型精确反映内存大小——不像 Python 那样动态,但给你完全的控制权。

学完本章你将: 掌握 int/float/double/char、sizeof 运算符、类型范围。


基本类型速查

类型大小(字节)范围
char1-128 ~ 127
short2-32768 ~ 32767
int4-2^31 ~ 2^31-1
long4 或 8平台相关
float4~7 位精度
double8~15 位精度

sizeof —— 查看类型大小

c
#include <stdio.h>

int main() {
    printf("char: %zu 字节\n", sizeof(char));    // 1
    printf("int: %zu 字节\n", sizeof(int));      // 4
    printf("float: %zu 字节\n", sizeof(float));  // 4
    printf("double: %zu 字节\n", sizeof(double)); // 8
    return 0;
}

unsigned —— 无符号类型

c
unsigned int a = 4294967295;   // 范围 0 ~ 2^32-1
                               // 有符号 int 最大才 2147483647

signed int b = -100;           // signed 是默认,可省略

整型溢出陷阱

c
int a = 2147483647;   // int 的最大值
a = a + 1;            // 溢出 → 变成 -2147483648(行为未定义)

unsigned int b = 0;
b = b - 1;            // 0-1 → 4294967295(无符号回绕)

⚠️ C 语言不会检查溢出,这是很多安全漏洞的根源(如整数溢出攻击)。计算时要自己判断范围。