Pav*_*ath 6 c struct function-parameter function-prototypes
昨天在解决这个问题时,我发现了一个奇怪的情况,即传递和接收未命名的结构作为函数参数。
例如,如果我有这样的结构,
int main ()
{
struct {
int a;
} var;
fun(&var);
}
Run Code Online (Sandbox Code Playgroud)
现在,原型应该是什么fun
?我如何将该结构用作函数中的结构(指针)fun
?
出于对齐原因,此原型应该可以工作:
\nvoid fun(int *x);\n
Run Code Online (Sandbox Code Playgroud)\n而且当然:
\nvoid fun(void *x);\n
Run Code Online (Sandbox Code Playgroud)\n我没有看到在函数中实际有效使用该结构的简单方法;也许在该函数内再次声明它,然后分配void *
?
\n\n6.7.2.1 - 15
\n指向结构对象的指针经过适当转换后,会指向其\n初始成员(或者,如果该成员是位\xef\xac\x81字段,则指向其所在的单元\n),反之亦然。结构对象内可能有未命名的填充,但不在其开头。
\n
归档时间: |
|
查看次数: |
2478 次 |
最近记录: |