将“指针数组”传递给函数

若昂·佩雷拉(JoãoPereira)

我有一个带有这样的指针数组的顶级函数:

Membership *mf[5];
for(i=0;i<5;i++)
    mf[i]=(Membership*) malloc(sizeof(Membership))

Membership结构在哪里到目前为止mf一切顺利,并且在调试时可以正确显示所有5个实体。问题是当我将指针数组传递给函数(与指针无关)时,如下所示:

call_function(*mf)

在哪里这样call_function()声明:

void call_function(Membership mf[5]){
    normalize_function(mf[0],slope);
    ....
    normalize_function(mf[5],fuel);
}

在那里,mf长度变成1而不是5变得无用了,即使搜索/阅读并调试了一段时间后,我也无法理解我在做什么。请帮助我如何更改call_function()(而不是指针数组)。

编辑:按照建议,我对代码做了一些更改。

Edit2:回应KyleStrand的回答:call_function()与指针没有任何关系,因为该功能实际上将在FPGA(VHDL编码)中实现,并且指针存在不必要的复杂性。

凯尔·斯特兰德(Kyle Strand)

当您说call_function“与指针无关”时,您的意思不清楚。看来函数的最后一个参数是s数组,Membership实际上,数组非常类似于C中的指针。当您传递*mf给函数时,您将取消引用该数组,也就是说,您正在访问该数组。数组的第一个成员这不是您想要的,因为call_function需要一个数组而不是一个array成员@caveman的评论是正确的:您应该传递原始数组(即,不要取消引用它)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将指向数组的指针传递给函数

来自分类Dev

将指针数组传递给函数

来自分类Dev

将char指针数组传递给函数

来自分类Dev

将char数组的指针传递给函数

来自分类Dev

将char指针数组传递给函数

来自分类Dev

将指针或数组传递给函数

来自分类Dev

将char指针/数组传递给函数

来自分类Dev

将指针数组传递给函数

来自分类Dev

C ++将指针数组传递给函数

来自分类Dev

将指针数组传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将指针传递给函数

来自分类Dev

将数组传递给函数-指针与引用(C ++与C)

来自分类Dev

将字符指针数组传递给C函数

来自分类Dev

将整数传递给函数内的数组(无指针)

来自分类Dev

如何通过BLAS函数将指针传递给子数组?

来自分类Dev

将数组的指针传递给对数字进行排序的函数

来自分类Dev

将数组的指针传递给C中的函数

来自分类Dev

将指向数组的指针传递给函数有什么好处?

来自分类Dev

C将void指针数组传递给函数

来自分类Dev

C指针,了解如何将数组传递给函数

来自分类Dev

将结构数组传递给函数作为指针(C)

来自分类Dev

将指针传递给构造函数中的数组

来自分类Dev

将指针传递给char数组作为函数的参数-C

来自分类Dev

如何使用指针将字符数组传递给函数?

来自分类Dev

将指针传递给需要数组的函数是否合法?