首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C中的重定义

C中的重定义
EN

Stack Overflow用户
提问于 2010-05-12 18:42:08
回答 4查看 467关注 0票数 1

有没有人能给我解释一下用C:

有没有可能做这样的事情

代码语言:javascript
复制
typedef struct NumberContainer* ptrNumberContainer;

在那之后

代码语言:javascript
复制
  typedef struct NumberContainer* ptrCall;

会不会在联动过程中出现问题?提前感谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-05-12 18:44:47

不,这完全没问题--同一个底层类型有两个同义词--这是很常见的。然而,在C中,通过使用类型定义函数来隐藏某物是指针的做法通常被视为不好的做法。

票数 5
EN

Stack Overflow用户

发布于 2010-05-12 18:45:15

这当然是有可能的。定义两个不同的类型名称来表示相同的事情。

票数 1
EN

Stack Overflow用户

发布于 2010-05-12 18:46:13

在这种情况下,ptrCall实际上将引用与ptrNumberContainer相同的类型。我认为它们在编译时也是兼容的。例如,你可以说:

代码语言:javascript
复制
ptrNumberContainer p1;
ptrCall p2;

然后这些将会起作用:

代码语言:javascript
复制
p1 = p2;
*p1 = *p2;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2818000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档