码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员_typedef

时间:2015-04-20 09:31:07      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:c   enum   struct   指针   

------- iOS培训iOS培训、期待与您交流! ----------


一.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;




黑马程序员_typedef

标签:c   enum   struct   指针   

原文地址:http://blog.csdn.net/a88410518/article/details/45133749

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!