2013-06-28 202 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