簡體   English   中英

&array[element] 是什么意思,為什么?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM