2 回答
TA贡献1836条经验 获得超3个赞
说说我的理解,因为前几天老是看头文件,这个在头文件里出现的次数相当多。
typedef的基本作用就是给一个数据类型一个名字,可以用这个名字去定义这样的数据类型。
比如 typedef uint unsigned int 就是用uint来表示无符号整数unsigned int,这样的用法在单片机程序里相当典型。这样可以简化书写,另外如果封装库文件的话,就可以隐藏数据类型。在比如定义一个结构 typedef Student struct { char name[10]; int Number;}Student;这样就可以用Student boy1;这样看起来只是简化了书写,和让定义看起来明确一些。可是当你想用一个结构里面还有结构型数据的话,比如已经定义了Student那么在定义一个Teacher :typedef Teacher struct { char name[10]; int Number;}Teacher;
那么就可以使用新的结构:struct { Student student; Teacher teacher;} Class;这样你看班级Class里就定义了学生和老师,而且使结构很清晰,很容易理解。
至于第三条,最常用就是int的定义了,比如我定义宽和高都是整数,typedef Width int;typedef Heigth int;
这样Width a;Heigth b;你一看就知道a,b是干什么的了,都是整型数,但是这么定义一下,你就很明白的知道使用整型数的目的了。
TA贡献1873条经验 获得超9个赞
AdjMatrix 定义了的是一个二维数组:如 AdjMatrix a; ====== int a[MAX_ VERTEX _ NUM][MAX_ VERTEX _ NUM]
而用AdjMatrix[MAX_ VERTEX _ NUM][MAX _ VERTEX _ NUM]去定义时会报错,所以只能用AdjMatrix
去定义,而且定义后的是一个二维数组,很特殊,呵呵,这个我以前都不知道
- 2 回答
- 0 关注
- 119 浏览
添加回答
举报