声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
2023-06-30
第一种形式声明了一个“结构标签”; 第二种声明了一个“类型定义”。主要的区别是在后文中你需要用“struct x1” 引用第一种, 而用“x2” 引用第二种。也就是说, 第二种声明更像一种抽象类新—– 用户不必知道它是一个结构, 而在声明它的实例时也不需要使用struct 关键字。
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同2023-06-30 第一种形式声明了一个“结构标签”; 第二种声明了一个“类型定义”。主要的区别是在后文中你需要用“struct x1” 引用第一种, 而用“x2” 引用第二种。也就是说, 第二种声明更像一种抽象类新—– 用户不必知道它是一个结构, 而在声明它的实例时也不需要使用struct 关键字。 相关内容: |