[英]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.