typedef



一.typedef作用简介


1.我们可以使用typedef关键字为各种数据类型定义一个新名字(别名)。

2.使用场合

(1)基本数据类型

(2)指针

(3)结构体

(4)枚举

(5)指向函数的指针


3.格式:typedef 数据类型 别名;(我们就可以用别名定义这种类型的变量:别名 变量==类型 变量)

4.原来的也可以用,只是用别名比较简单明了。还可以在别名的基础上再起一个别名:typedef 别名1 别名2


二.typedef与指针


1.除开可以给基本数据类型起别名,typedef也可以给指针起别名。

2.格式:typedef  类型  * 别名(以后定义指针变量就可以直接:别名 指针变量)


三.typedef与结构体


1.使用typedef给结构体起别名:

struct 结构体名{
    类型1  成员变量1;
    类型2  成员变量2;
    ....
};
typedef struct 结构体名 别名;

 

以后就可以用这样定义结构体变量:别名  结构体变量;

2.简写方法

typedef struct 结构体名{
	类型1  成员变量1;
	类型2  成员变量2;
	....
}别名;

还可以省略结构体名称(以后最常用的写法):

typedef struct {
	类型1  成员变量1;
	类型2  成员变量2;
	....
}别名;


三.typedef与指向结构体的指针


typedef struct {
	类型1  成员变量1;
	类型2  成员变量2;
	....
}别名1; //定义一个结构体,顺便起个别名

typedef  别名1 * 别名2 // 给结构体变量起别名


四.typedef 与枚举类型


1.定义完枚举类型,再给枚举类型起别名

enum 枚举名{枚举元素1,枚举元素2...};

typedef enum 枚举名 别名;

用别名定义枚举变量:别名 枚举变量;


2.定义枚举时候顺便起别名

typedef enum 枚举名{枚举元素1,枚举元素2...} 别名;


3.省略枚举名,起别名

typedef enum {枚举元素1,枚举元素2...} 别名;


五.typedef与指向函数的指针


1.指向函数指针的定义:返回值类型 (*指针名) (参数类型1,参数类型2...);

2.用typedef给指向函数的指针起别名

typedef 返回值类型 (*别名)(参数类型1,参数类型2);

别名 指向函数的指针的变量;


六.typedef与#define


1.顺序有区别:(typedef 类型名 别名)而(#define 别名 类型名)

2.给指针变量起别名:用typedef的时候同时定义多个指针变量是没有问题的,而用#define的时候只有第一个变量是

指针变量,其它都是非指针数据类型(指针变量指向空间的类型)。期类型起别名最好用typedef

(1)用typedef的时候

typedef  char * string;
string str1,str2; // 这句就等价于char *str1;char *str2;

(2)用#define的时候

#define string char *
string str1,str2; // 这句等价于char *str1;char str2;




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值