一直以为结构体名就像数组名一样是个指向第一个元素的指针,其实不是。如下图:
可知caq.a 和czq的值相等,即结构体名等于其中第一个元素的值。此外fun函数里printf打印时用buf->a而非buf.a是因为在函数里buf是一个指针,用指针的形式访问结构体的成员必须buf->a或者(*buf).a
此外定义结构体用在C中定义一个结构体类型用typedef:
typedef struct Text
{
int a;
int b;
}Text_s;
于是在声明变量的时候就可以:Text_s czq (如果没有typedef就必须要用struct Text czq来声明),这里的Text_s实际上就是struct Text的别名。