结构和参数

时间:2010-06-02 03:35:17

标签: c function arguments structure

我正在尝试模块化一个函数,该函数用于在一次调用中向多个结构添加值。现在我想为每次调用添加一个值,但我不确定如何创建一个不太具体的参数。

func([?] * val)
{

}

1 个答案:

答案 0 :(得分:1)

如果所有结构都以相同的“前缀”开头,那么您可以在相同的偏移处到达所需的部分,那么您可以将该前缀设为自己的struct并将指针传递给它 - a “穷人的遗产版本”。

如果所需的部分在不同的结构中处于不同的偏移量,你只能通过一个指向该函数的指针(除非通过一个间接层,这可能会变得更复杂) - 最简单的可能是通过一个指针和偏移量,并使用地址算术来到达所需的部分。如果不了解各种结构的布局以及功能需要达到的部分,就很难提出更具体的建议!