C中是否存在结构类型等价?
问问题
3046 次
3 回答
3
严格来说,不——不同命名的类型是不同的类型,即使类型的结构是相同的。(当然,atypedef
只是为现有类型引入了一个替代名称;这些类型是相同的类型。)
然而,在实践中,有许多特技是你可以摆脱的。但严格来说,他们是在作弊。使用 void 指针是颠覆系统的一种方式;另一个不使用函数的原型声明;可变长度参数列表可以是另一个。
于 2011-01-29T07:29:25.700 回答
0
如果您问是否可以比较两个struct
是否相等,答案是否定的。只有赋值,您可以从函数返回结构。
于 2011-01-29T07:38:32.013 回答
-2
C 中没有比较两个结构的运算符,您可以使用 memcmp 代替:
if( memcmp( &structvar1, &structvar2, sizeof structvar1 ) )
puts("not equal");
else
puts("equal");
于 2011-01-29T08:16:16.063 回答