2013-06-28 92 views
1

我需要將此數據傳遞給函數,但無法找出接收函數的正確語法。函數參數傳遞指針混亂

實施例代碼

NPOI_SCAN_HEADER *h; 

int iBline; 
int baselineId; 
for (iBline = 0; iBline < h->iNumBlines; iBline++) 
{ 
    baselineId = addBaseline(h->pBase[iBline]); 
} 

int addBaseline(BASELINE *b) 
{ 
    ... 
} 

「NPOI_SCAN_HEADER」 是包含 「基線* PBASE」 一個結構。

「BASELINE」是一個結構體,它內部是addBaseline()需要的數據。

回答

3

由於pBaseBASELINE *,pBase[iBline]將是BASELINE。因此,要獲得一個BASELINE *,你需要採取其地址:

baselineId=addBaseline(&(h->pBase[iBline])); 

或者只是添加偏移:

baselineId=addBaseline(h->pBase + iBline); 
+0

這樣的作品,謝謝。 – user2532973