用C和C进行函数调用在争论面前

时间:2016-02-01 19:29:23

标签: c

calc(mesh, prob_data, &cells_fd[crr], species, cr); 

我正在查看代码中的函数调用,而我只是想验证我是否正确看到这一点。在上面的调用中,我对参数cells_fd [crr]感兴趣。 是"&"在参数前面意味着cells_fd [crr]被传递到函数calc中,无论calc怎么办,都会存回到cells_fd [crr]中?

2 个答案:

答案 0 :(得分:1)

cells_fd[crr]相当于*(cells_fd + crr),因此&cells_fd[crr]等同于&*(cells_fd + crr) (cells_fd + crr),因为取消引用和地址运算符取消。

因此,您的解释是正确的,&cells_fd[crr]传递cells_fd[crr]的地址,以便calc()可以覆盖内容,但calc()实际上对地址做了什么如果没有进一步的背景,那么单行代码就不清楚了。

答案 1 :(得分:0)

"&安培;"它意味着你将指针传递给调用函数

我不知道是什么数据类型是cells_fd [crr]

dispatch_once