typedef的作用

typedef的作用分为三种:
1.为基本数据类型定义新的类型名

typedef int myINT;//将基本的数据类型定义为新的类型名myint

2.为自定义数据类型(结构体,共用体,枚举类型)定义简洁类型名

typedef struct Point3d{float x;float y;float z;}Point3d;
//将原本类型名为struct Point3d简化为类型名Point3d
//下面对结构体类型使用typedef关键字:
    typedef struct Node
    {
        int data;
        struct Node* next;
    }Node;   //Node是对struct Node的重命名
    Node new_node;//定义结构体变量,相当于struct Node new_node;

枚举类型 ,enum 语句示例实际上并没有创建任何变量,只是定义数据类型
enum 枚举名
{
//枚举成员用逗号隔开
};

(1)以上定义的enum Day,enum Sex,enum Color都是枚举类型。
(2)花括号{}中的内容是枚举类型的可能取值,也叫枚举常量,这些枚举常量默认从0开始依次递增1,枚举常量默认从0开始,也可以在定义时赋初值。
(3)定义的枚举变量的赋值必须从枚举常量中取值,提高代码的可读性。

#include<iostream>
using namespace std;
enum day//枚举类型enum day的定义
{
	monday,
	tuesday,
	wensday,
	thursday,
	friday,
	saturady,
	sunday,
};
//enum Colors { red, orange, yellow = 9, green, blue };
typedef enum Colors { red, orange, yellow = 9, green, blue }color;//将原来的类型名enum Colors简化为color
int main()
{
	enum day day1;//定于一个enum day 类型的变量day1
	day1 = monday; //对day1进行赋值,赋值的内容必须为枚举类型里面的内容
	cout << day1 << endl;//0
	color col1;//采取简化的类型名color
	cout << orange << endl;//1
	cout << green << endl;//10
	cout << blue << endl;//11
}
  1. typedef void(*T)(void *)
    对于typedef void(*T)(void *),我们进行一层层的剖析
    首先写成 void(*T)() 可以看出 T是一个指针,是一个指向返回值为void ,参数为空的类型的函数指针
    再加上(void *) 为 void(*T)(void *) 就变成了一个指向 返回值为void,参数为void *类型的指针
    在加上typedef ,加上后,T就不再是一个函数指针了,它代表着一种类型,这种类型可以定义一个 指向 返回值为void,参数为void *类型的指针
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值