Из-за включений у вас есть функция createStudentList()
, определенная в main.o и student.o , что приводит к ошибке компоновщика, которую вы наблюдаете.
Я бы предложил сделать следующее. Определение структуры (типа) и прототип функции должны находиться в заголовочном файле:
#ifndef _students_h_
#define _students_h_
#include <stdbool.h>
typedef struct Students
{
int id;
double average;
} Student;
bool createStudentList(void);
#endif
и фактический код в исходном файле, который включает файл заголовка
#include "students.h"
bool createStudentList(void)
{
return true;
}
Теперь вы можете использовать как тип, так и функцию createStudentList
в других исходных файлах, включая students.h
.