黑马程序员技术交流社区
标题:
typedef 的问题
[打印本页]
作者:
wodeheimalife
时间:
2015-4-22 08:31
标题:
typedef 的问题
typedef struct people
{ int age;
float weight;
}person; 和
typedef struct
{ int age;
float weight;
}person;
两者的区别在哪里?
哪个更好用?
作者:
kailee
时间:
2015-4-23 10:48
首先,我说一下结构体的定义吧:
第一种方式:先定义一个people类型,然后用people类型定义了一个person变量。
第二种方式,一句代码既定义了people类型,又利用people类型定义了person变量。
注意:不要犯结构体类型重复定义的错误,比如:
struct people
{
int age;
float weight;
} person1;
struct people
{
int age;
float weight;
} person2;
复制代码
会导致结构体类型重复定义的错误。
还有一种方式,定义结构体类型的同时定义结构体变量和第二种方式相似只不过省去了类型名:
struct
{
int age;
float weight;
} person3;
复制代码
这样做的缺点是不能重用
有了上面的铺垫,我想应该好说了,typedef就是给类型(这里你提问的是结构体类型)起一个别名而已,比如你给的两种:
第一种就是将struct people另名为person
第二种就是将
struct
{
int age;
float weight;
}
复制代码
另名为person,这样的好处,我想你肯定是知道,希望我的解答能够帮到你,错误之处还请指正。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2