标签:
C里定义一个struct,一般都会再利用typedef给该结构取一个别名,如:
1 tyepdef struct tagObject 2 { 3 int weight; 4 int price; 5 int status; 6 }OBJECT;
这样,以这个自定义的数据结构来创建一个变量时,就可以这样写:
1 OBJECT objs;
而如果没有用typedef重定义的话,即按struct的原始定义为:
1 tyepdef struct tagObject 2 { 3 int weight; 4 int price; 5 int status; 6 }OBJECT;
这样,如果要创建一个这种类型的变量时,需要这样定义:
1 struct tagObject objs;
本质原因是:创建的数据类型是struct tagObject,而不是tagObject。
但是,在C++里则不需要用typedef定义,struct
与class
的唯一区别是默认的访问等级,class
是私有的,struct
则是公有的。
标签:
原文地址:http://www.cnblogs.com/yfjack/p/4645691.html