无类型名的结构体

1、无类型名的结构体变量在声明结构体时就得定义。

2、不同时刻声明的结构体变量,即使成员列表一致,在编译器看来也是不一致的数据类型(  假设类型一致,那就成了 重复定义数据类型了 )

例如:

struct{
  int x;
}a;
struct{
  int x;
}b;
  b = a;//报 incompatible type error
且无类型名结构体使用限制:

1、他不能作为参数传递给一个函数,因为编译器无法对他进行类型检查;

2、也不能使被调用的函数返回一个没有结构体名的结构体变量,原因同1

版权声明:本文为xmzzy2012原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。