C中是否存在结构等价类型?

C中是否存在结构类型等价?     
已邀请:
严格地说,没有 - 不同命名的类型是不同的类型,即使类型的结构是相同的。 (当然,
typedef
只是为现有类型引入了一个替代名称;这些类型是相同的类型。) 然而,在实践中,有许多特技你可以拉扯和逃脱。但严格来说,他们是作弊。使用void指针是颠覆系统的一种方式;另一个不使用函数的原型声明;变长参数列表可以是另一个。     
如果你问是否有可能比较两个
struct
的平等,答案是否定的。只有赋值,您可以从函数返回结构。     
没有运算符来比较C中的两个结构,你可以使用memcmp代替:
if( memcmp( &structvar1, &structvar2, sizeof structvar1 ) )
  puts("not equal");
else
  puts("equal");
    

要回复问题请先登录注册