Передача структур в функции внешних файлов

Можно ли передавать структуры в функции внешних файлов? Не могли бы вы объяснить как передавать структуры в функции внешних файлов?

К примеру при попытке скомпилировать код (gcc -Wall AnotherFile.c -o MainTestProgram.exe) аналогичный приведенному ниже примеру, компилятор ругается на то, что структура не может быть использована за пределами объявления...

Например имеется следующий файл (MainProgram.c) с кодом:

#include "AnotherFile.h"
struct product {char name[30]; float price; int amount;} allProduct;
int main() {
   WorkStruct(allProduct);
   return 0;
}

Имеется внешний файл (AnotherFile.c) со следующим кодом:

void WorkStruct(struct product getStruct) {
   //Какой-то код по работе со структурой
}

Заголовочный файл (AnotherFile.h) имеет следующий код:

#include "AnotherFile.c"
void WorkStruct(struct product getStruct);

Ответы (0 шт):