【C++知识点】用 typedef 定义类型

✍个人博客:https://blog.csdn.net/Newin2020?spm=1011.2415.3001.5343
?专栏地址:C/C++知识点
?专栏定位:整理一下 C++ 相关的知识点,供大家学习参考~
❤️如果有收获的话,欢迎点赞?收藏?,您的支持就是我创作的最大动力?
?唠叨唠叨:在这个专栏里我会整理一些琐碎的 C++ 知识点,方便大家作为字典查询~

用 typedef 定义类型

typedef是C/C++中一个很关键的关键字,它的作用是用来给类型起别名。因为在遇上不同数据类型,尤其是复杂类型。

typedef关键字常用来给一下几种类型起别名:

  1. 基本数据类型
  2. 结构体
  3. 数组
  4. 枚举类型
  5. 指针

基本数据类型

使用typedef给基本数据类型起别名很简单:

//typedef关键字 数据类型 别名
typedef int Myint;
typedef double Mydouble;

起了别名以后,别名就相当于原类型名的同义词,能使用原类型的地方就可以使用别名。

int num和Myint num等价。

结构体

和基本数据类型类似,将别名放在结构体之后。

struct Person{
    string name; 
    int age;
};
//typedef关键字 结构体 别名
typedef struct Person P;

数组

给数组起别名时,typedef的用法和单个元素有些区别,别名被挤在数组元素类型和数组元素个数之间。

//typedef关键字 数组元素类型 别名[数组元素个数]
typedef int C[10];
C t;
// t的类型是int[10],也就是包含10个int类型的数组

枚举类型

和结构体类型类似。

enum Color{Red,Green,Blue};
//typedef关键字 枚举类型 别名
typedef Color primaryColor;
primaryColor G = Red

指针

对指针起别名需要注意的一点就是,如果要对别名加const关键字,必须要知道,我们声明的是一个常量指针,而不能将其按照字面上,理解为指向常量的指针。

//typedef关键字 指针 别名
typedef const char* String;
String s1 = "name";

版权声明:本文为Newin2020原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。