2013-06-28 7 views
1

Мне нужно передать эти данные функции, но не могу определить правильный синтаксис для функции приема.Функция аргумент передающий указатель mess

Пример код

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

Как pBase является BASELINE *, pBase[iBline] будет BASELINE. Таким образом, чтобы получить BASELINE *, вы должны принять его адрес:

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

Или просто добавить смещение:

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

Это работает, спасибо. – user2532973