`typedef` 是 C 和 C++ 编程语言中的一个关键字,用于为现有的数据类型定义一个新的名称

typedef 是 C 和 C++ 编程语言中的一个关键字,用于为现有的数据类型定义一个新的名称(别名)。它的主要目的是提高代码的可读性和可维护性。

语法

c 复制代码
typedef existing_type new_type_name;

示例

  1. 基本类型的别名

    c 复制代码
    typedef int Integer;
    Integer a = 10; // 等价于 int a = 10;
  2. 结构体的别名

    c 复制代码
    typedef struct {
        int x;
        int y;
    } Point;
    
    Point p1; // 等价于 struct { int x; int y; } p1;
  3. 指针类型的别名

    c 复制代码
    typedef char* String;
    String str = "Hello"; // 等价于 char* str = "Hello";
  4. 函数指针的别名

    c 复制代码
    typedef int (*FuncPtr)(int, int);
    
    int add(int a, int b) {
        return a + b;
    }
    
    FuncPtr fptr = add; // fptr 是一个指向 add 函数的指针

优点

  • 可读性:通过使用有意义的类型名,代码更容易理解。
  • 可维护性 :如果需要更改数据类型,只需修改 typedef,而不需要修改所有使用该类型的地方。
  • 简化复杂类型 :对于复杂的类型(如函数指针),typedef 可以使其更易于管理。

C++中的 using

在 C++11 及更高版本中,可以使用 using 关键字来达到类似的效果:

cpp 复制代码
using Integer = int;
Integer a = 10; // 等价于 int a = 10;

总的来说,typedef 是一个非常有用的工具,特别是在处理复杂数据类型时。

相关推荐
leobertlan8 小时前
杂篇 -- 拂拭念头、造器与自洽:AI 时代属于每个人的秩序
人工智能·程序员
墨狂之逸才13 小时前
忘记电视 IP 之后:一次从零开始的 Mac 局域网与 ADB 学习记录
程序员
高晶15 小时前
ARM 嵌入式 Linux 命令系统 BusyBox 实战指南
linux·设计模式·程序员
高晶15 小时前
语音合成与变声技术十大业务场景落地实战:从电商直播到规模化生产
设计模式·程序员
用户2359371726316 小时前
第2周:搜索流量开始来了——小程序SEO的收录机制与排名调优实录
程序员·运营
米米商聊18 小时前
看起来一样的词,为什么搜不到?Unicode 规范化与搜索键
程序员
xunberg18 小时前
【生命科学 Agent】推理平台(三)
算法·程序员·架构
陈随易19 小时前
副业搞钱点子之 Umami 统计如何赚钱
前端·后端·程序员
阿里嘎多学长1 天前
2026-10-23 GitHub 热点项目精选
开发语言·程序员·github·代码托管
Hone1 天前
一套让 7 个 AI Agent 共享同一份 Skills 的方案(Windows Junction 实战)
人工智能·程序员