【发布时间】:2010-06-02 03:35:17
【问题描述】:
我正在尝试模块化一个函数,该函数用于在一次调用中向多个结构添加值。现在我想在每次调用时添加一个值,但我不确定如何制作不太具体的参数引用。
func ( [?] *val )
{
}
【问题讨论】:
标签: c function arguments structure
我正在尝试模块化一个函数,该函数用于在一次调用中向多个结构添加值。现在我想在每次调用时添加一个值,但我不确定如何制作不太具体的参数引用。
func ( [?] *val )
{
}
【问题讨论】:
标签: c function arguments structure
如果所有结构都以相同的“前缀”开头,那么您可以以相同的偏移量到达所需的部分,那么您可以将该前缀设置为自己的 struct 并传递一个指向它的指针 - 一个“差人类版本的继承”。
如果所需部分在不同结构中的不同偏移量处,您无法只传递一个指向函数的指针(除非通过间接层,这可能会变得更加复杂)——最简单的可能是传递一个指针和偏移量,并使用地址算术到达需要的部分。如果不知道您的各种结构是如何布局的以及功能需要达到哪些部分,就很难给出更具体的建议!
【讨论】: