C++ typedef 定义别名
C++ 中可以使用 typedef
关键字为一个类型定义一个别名
比如下面的结构体
struct Book { char title[50]; char author[50]; char subject[100]; int book_id; } book;
我们可以使用 typedef
为它取个别名,比如 ITBooks
typedef Book ITBook;
或者直接在定义的时候就取一个别名
typedef struct { char title[50]; char author[50]; char subject[100]; int book_id; } ITBook;
然后我们就可以使用 ITBook
来定义 struct Book
类型的变量
/** * file: main.cpp * author: 简单教程(www.twle.cn) * * Copyright © 2015-2065 www.twle.cn. All rights reserved. */ #include <iostream> #include <cstring> // 声明一个结构体类型 Books struct Book { char title[50]; char author[50]; char subject[100]; int book_id; }; typedef Book ITBook; int main( ) { ITBook book1; ITBook book2; // book1 详述 strcpy( book1.title, "C++ 基础教程"); strcpy( book1.author, "简单教程"); strcpy( book1.subject, "后端技术"); book1.book_id = 11010; // book2 详述 strcpy( book2.title, "HTML 基础教程"); strcpy( book2.author, "简单教程"); strcpy( book2.subject, "前端技术"); book2.book_id = 11011; // 输出 book1 信息 std::cout << "第一本书标题 : " << book1.title << std::endl; std::cout << "第一本书作者 : " << book1.author << std::endl; std::cout << "第一本书类目 : " << book1.subject << std::endl; std::cout << "第一本书 ID : " << book1.book_id << std::endl; // 输出 book2 信息 std::cout << "第二本书标题 : " << book2.title << std::endl; std::cout << "第二本书作者 : " << book2.author << std::endl; std::cout << "第二本书类目 : " << book2.subject << std::endl; std::cout << "第二本书 ID : " << book2.book_id << std::endl; return 0; }
编译运行上面的代码,输出结果如下
第一本书标题 : C++ 基础教程 第一本书作者 : 简单教程 第一本书类目 : 后端技术 第一本书 ID : 11010 第二本书标题 : HTML 基础教程 第二本书作者 : 简单教程 第二本书类目 : 前端技术 第二本书 ID : 11011
还可以使用 typedef
给非结构类型定义一个别名
typedef int *pint32; pint32 x, y, z;
x, y 和 z 都是指向长整型 int 的指针