声明:C语言小问题系列 基本均来自《你必须知道的495个C语言问题》 一书 绝非原创哈 写下来 纯粹为了学习 也希望有更多的人可以看到 !
看下面的两个声明 有什么区别
struct x1 {....};
typedef struct {....} x2;
第一种形式其实声明了一个结构标签(structure tag)第二种声明了一个“类型定义”
其在定义结构体变量的时候不需要加上关键字struct 比如x2 B;
但是如果使用标签来声明的就得写struct x1 B;
当然 也可以同时使用这两种方法 typedef struct x1 {...} x1;
最后 这种 struct x {......};
x A;是不对的 得用struct x A;