c语言各种变量 C语言变量类型详解基础分类与派生应用实例解析 c语言的变量有哪几

1. 基本数据类型(Primitive Types)

1.1 整数类型(Integer Types)

  • 有符号整数(Signed)
  • `char`:1字节,范围 `-128` 到 `127`
  • `short`(或 `short int`):2字节,范围 `-32,768` 到 `32,767`
  • `int`:通常4字节(依赖体系),范围约 `-2^31` 到 `2^31-1`
  • `long`(或 `long int`):4或8字节(依赖体系),范围更大
  • `long long`(C99+):8字节,范围约 `-2^63` 到 `2^63-1`
  • 无符号整数(Unsigned)
  • 缀加 `unsigned`,如 `unsigned int`、`unsigned long`,范围从 `0` 到最大值。

    如:`unsigned char`(范围 `0` 到 `255`)。

    1.2 浮点类型(Floating-Point Types)

  • `float`:单精度浮点,4字节,精度约6-7位小数
  • `double`:双精度浮点,8字节,精度约15位小数
  • `long double`:扩展精度,通常10字节或更多(依赖体系)
  • 1.3 布尔类型(C99+)

  • `_Bool`:1字节,值为 `0`(false)或 `1`(true),需包含 “ 以使用 `bool`、`true`、`false`。
  • 2. 枚举类型(Enumerated Types)

  • `enum`:用户定义的整数常量 。
  • 例:

    num Week Mon, Tue, Wed }; // Mon=0, Tue=1, …

    3. 空类型(Void Type)

  • `void`:表示“无类型”,常用于函数无返回值或通用指针(`void`)。
  • 4. 派生类型(Derived Types)

    4.1 数组(Array)

  • 同一类型元素的 。
  • 例:`int arr[5];`

    4.2 指针(Pointer)

  • 存储内存地址的变量。
  • 例:`int ptr;`

    4.3 结构体(Structure)

  • 组合不同数据类型的成员。
  • 例:

    truct Student

    har name[20];

    nt age;

    ;

    4.4 联合体(Union)

  • 所有成员共享同一块内存(同一时刻只能存一个成员的值)。
  • 例:

    nion Data

    nt i;

    loat f;

    ;

    4.5 函数类型(Function)

  • 函数指针等(例如 `int (func)(int, int);`)。
  • 5. 类型限定符(Qualifiers)

  • `const`:变量不可修改(常量)。
  • `volatile`:告知编译器变量可能被意外修改(如硬件寄存器)。
  • `restrict`(C99+):优化指针的独占访问。
  • 示例代码

    nclude

    nclude

    nt main

    nt a = 10; // 整数

    loat b = 3.14f; // 单精度浮点

    ouble c = 2.71828; // 双精度浮点

    har d = ‘A’; // 字符

    ool flag = true; // 布尔值

    nt arr[3] = 1, 2, 3}; // 数组

    nt ptr = &a; // 指针

    truct Point int x, y; }; // 结构体

    nion Number int i; float f; } num; // 联合体

    eturn 0;

    关键点

  • 类型的选择影响内存占用、取值范围和运算效率。
  • 不同体系下类型大致可能不同(可用 `sizeof` 验证)。
  • 生类型(如结构体、指针)是构建复杂数据结构的核心。

    版权声明

    返回顶部