打印
[技术手册]

Typedef 在C语言中应用

[复制链接]
413|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AdaMaYun|  楼主 | 2023-12-18 14:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。例如,思考一下下面的例子:

#define dPS struct s *
typedef struct s * tPS;

以上两种情况的意图都是要定义dPS 和 tPS 作为一个指向结构s指针。哪种方法更好呢?(如果有的话)为什么?

考察点:

这是一个非常微妙的问题,任何人答对这个问题(正当的原因)是应当被恭喜的。答案是:typedef更好。思考下面的例子:

dPS p1,p2;
tPS p3,p4;

第一个扩展为

struct s * p1, p2;

上面的代码定义p1为一个指向结构的指,p2为一个实际的结构,这也许不是你想要的。第二个例子正确地定义了p3 和p4 两个指针。

使用特权

评论回复
沙发
jf101| | 2023-12-19 09:17 | 只看该作者
指针和结构体确实是C++中的重要工具

使用特权

评论回复
板凳
中国龙芯CDX| | 2023-12-21 09:22 | 只看该作者
其实还是简单易懂的比较好!更通俗

使用特权

评论回复
地板
星辰大海不退缩| | 2023-12-21 12:23 | 只看该作者
指针是不是定义明白清晰比较好

使用特权

评论回复
5
szt1993| | 2023-12-22 13:04 | 只看该作者
对于具体细节还是有点不清楚

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

240

主题

1800

帖子

3

粉丝