Передача структур в функции внешних файлов
Можно ли передавать структуры в функции внешних файлов? Не могли бы вы объяснить как передавать структуры в функции внешних файлов?
К примеру при попытке скомпилировать код (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);