Объявления для перечислений и структур
Я написал несколько файлов: main.c, functions.c, functions2.c и header.h. Некоторые функции в functions.c и functions2 используют некоторые перечисления и структуры.
Где я должен разместить свои перечисления и структуры? Как написать объявления для них в functions.c и functions2.c? Мои функции (из разных файлов) должны их видеть.
Например, я написал объявления такой функции в header.h:
int func(void);
void func2(int);
Но я не знаю, как это писать для перечислений и структур.
С уважением
2 ответа
Пример для functions.c:
#include "header.h"
int func(void)
{
...
}
void func2(int)
{
}
Пример для header.h:
#ifndef HEADER_H
#define HEADER_H
int func(void);
void func2(int);
enum eMyEnum
{
eZero = 0,
eOne,
eTwo
};
struct sMyStruct
{
int i;
float f;
};
#endif
Декларирующие структуры:
typedef struct <optional struct name>
{
int member1;
char* member2;
} <struct type name>;
Поместите все элементы, которые вы хотите в структуре в формате выше, с любым именем, которое вы хотите. Тогда вы используете:
<struct type name> my_struct;
Объявить экземпляры структуры.
Объявление перечислений:
typedef enum
{
value_name,
another_value_name,
yet_another_value_name
} <enum type name>;
Поместите все значения в перечисление, как указано выше, с любым именем. Тогда вы используете:
<enum type name> my_enum;
Чтобы объявить экземпляры перечисления.