typedef的用法,请高手指点一下,谢谢
typedef的用法,请高手指点一下,谢谢
楼主Changl(零下九十九度)2002-11-22 17:44:23 在 C/C++ / C语言 提问typedef的用法,请高手指点一下,谢谢 问题点数:0、回复次数:18Top
1 楼pigsir(小猪和C++)回复于 2002-11-22 17:47:17 得分 0
typedef int aa;
aa和int一样了等同。Top
2 楼qfknet(┏●●┓)回复于 2002-11-22 17:50:01 得分 0
就是定义为同义词的意思!Top
3 楼lee0119(tim)回复于 2002-11-22 17:50:54 得分 0
你那里不懂,是基础去看书Top
4 楼earnest810(木容智)回复于 2002-11-22 17:51:20 得分 0
类型说明的格式为:
typedef 类型 定义名;
类型说明只定义了一个数据类型的新名字而不是定义一种新的数据类型。这里类型是Turbo C许可的任何一种数据类型。定义名表示这个类型的新名字。
例如: 用下面语句定义整型数的新名字:
typedef int SIGNED_INT;
使用说明后, SIGNED_INT就成为int的同义词了, 此时可以用SIGNED_INT 定义整型变量。
例如: SIGNED_INT i, j;(与int i, j等效)。
但 long SIGNED_INT i, j; 是非法的。
typedef同样可用来说明结构、联合以及枚举。
说明一个结构的格式为:
typedef struct{
数据类型 成员名;
数据类型 成员名;
...
} 结构名;
此时可直接用结构名定义结构变量了。例如:
typedef struct{
char name;
int class;
char subclass;
float math, phys, chem, engl, biol;
} student;
student Liuqi;
则Liuqi被定义为结构数组和结构指针。Top
5 楼GZCompiler(编译器)回复于 2002-11-22 19:25:12 得分 0
如有:
typedef int INT;
则
int a;
与
INT a;
等价。
Top
6 楼ji_da_sheng(一个字)回复于 2002-11-22 19:43:35 得分 0
typedef的作用就是给已经存在的(系统的或是自定义的)类型取一个别名。那样记起来会方便一些。如:
typedef int dog;
那么以后用dog定义的类型就是整形。你以后只管用dog定义就行,而不必去管它到底是什么类型。Top
7 楼Changl(零下九十九度)回复于 2002-11-23 00:07:54 得分 0
怎么给分啊Top
8 楼GZCompiler(编译器)回复于 2002-11-23 13:51:39 得分 0
按帖子开头的“管理”Top
9 楼bqt(周扒皮)回复于 2002-11-23 15:20:11 得分 0
用处就是为了适应个人命名习惯Top
10 楼lidiya(芯格格)回复于 2002-11-23 15:46:01 得分 0
方便修改和实现函数复用
例:数据结构中,链表的固定操作一般被整理成库
结点的规范定义是这样的
typedef int EntryType;
typedef struct node{
EntryType item;
struct node *next;
}NODE;
在解决结点内容需要两部分信息的问题时
这样改一下就OK了。
typedef struct{
int No;
int code;
}INFO;
typedef INFO EntryType;
typedef struct node{
EntryType item;
struct node *next;
}NODE;
Top
11 楼zhengguoshan(坚持-决不放弃)回复于 2002-11-23 20:19:17 得分 0
typedef int aa;
aa和int一样了等同。
也可以称为别名。。。Top
12 楼GZCompiler(编译器)回复于 2002-11-27 21:01:44 得分 0
upTop
13 楼GZCompiler(编译器)回复于 2002-12-09 19:58:13 得分 0
upTop
14 楼gq00001(gq00001)回复于 2002-12-09 20:01:02 得分 0
抢分Top
15 楼shandong88(流星)回复于 2002-12-09 20:25:45 得分 0
同意了Top
16 楼sjsj(虚怀若谷)回复于 2002-12-09 20:36:01 得分 0
再加一点:
typedef的作用范围是本编译单位,所以,以下程序是正确的
//file1.c
typedef int aa;
//file2.c
typedef float aa;
Top
17 楼Perrin(爱如捕风)回复于 2002-12-09 21:05:00 得分 0
大致明白了Top
18 楼chinacharli(chinacharli)回复于 2002-12-09 22:02:07 得分 0
看看c语言的书就知道了。是等同词
typedef char datatype
那么以后datatype就时char了Top
-
相关文章
2秒记住本站域名
玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的readygo.com.cn
