[英]What does &array[element] means and why?
我在 MPI 中使用 C 进行编码。我不明白 MPI_Send() 是如何工作的,或者 &array[element] 是否工作。
MPI_Send(&array[element],element_left,MPI_INT,i,0,MPI_COMM_WORLD);
这里array[]={1,2,3,4,5,6,7,8,9,10}
和element = 6
和element_left = 4
。 我理解array[element]=array[6]=7
但为什么这个 function 选择 7,8,9,10? 我知道它会从数组中选择 4 个元素,但为什么我们在这里需要 & 并且只提供起始条目array[6]
这个 function 如何能够选择下一个 3 个元素?
我以为我必须使用for
循环或其他东西一个接一个地添加,但是当我在 Google 上搜索某些内容时,我得到了这段代码,经过这么多我仍然不明白。 请帮助我理解这段代码的落后之处。
大多数 MPI 例程采用三个 arguments:
所以通过&array[element],element_left,MPI_INT
你指定element
的元素作为缓冲区的开始,然后你将element_left
许多整数发送。 您将计数命名为element_left
有点奇怪,它更像是索引的名称,但事实就是如此。
&array[element]
与array + element
是同一个表达式,表示数组array
的第element
元素的地址。
您调用的 function 需要此地址作为第一个参数,并将要处理的元素数作为第二个参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.