这些typedef用途之间有什么区别?

时间:2019-01-15 04:14:34

标签: c

两者之间有什么区别

typedef struct
{
  int a;
  int b;
} S1, *S1PTR;

((S1PTR)structure)->b)

typedef struct
{
  int a;
  int b;
} S1;

((S1*)structure)->b)

1 个答案:

答案 0 :(得分:3)

  

这些typedef使用之间有什么区别?

与编译器没有区别。


这是一种风格差异。

(S1*)structure看起来像是对指针的强制转换。

(S1PTR)structure看起来不像是对指针的强制转换-而是对指针的强制转换。

*的声音比...PTR大。


还:仅使用大写的标识符提示#define,而并非这样。


根据您所在小组的编码指南进行编码。我使用的那些不会在这里纵容S1PTR