有人可以给我解释一下关于重新定义在C:重新定义使用C
是有可能做这样的事情
typedef struct NumberContainer* ptrNumberContainer;
,之后
typedef struct NumberContainer* ptrCall;
可能它会导致在一些问题连锁?在此先感谢
有人可以给我解释一下关于重新定义在C:重新定义使用C
是有可能做这样的事情
typedef struct NumberContainer* ptrNumberContainer;
,之后
typedef struct NumberContainer* ptrCall;
可能它会导致在一些问题连锁?在此先感谢
不,这是完全没问题 - 你有两个同一基础类型的同义词 - 这是相当普遍的。然而,通过使用typedef来隐藏某事物是指针这一事实的做法在C中通常被认为是不好的做法。
当然这是可能的。定义两个不同的类型名称意味着相同的事物。
在这种情况下,ptrCall
实际上是指与ptrNumberContainer
相同的类型。我认为它们也会兼容编译时间。因此可以这样说,例如:
ptrNumberContainer p1;
ptrCall p2;
那么这些将工作:
p1 = p2;
*p1 = *p2;
在标题拼写错误。 – Viet 2010-05-12 10:52:04
请注意,这与eclipse没有任何关系 - 我再次删除了标签。 – 2010-05-12 11:06:23