枚举和结构的声明

时间:2013-02-08 20:31:24

标签: c c89

我写了一些文件:main.c,functions.c,functions2.c和header.h。 functions.c和functions2中的一些函数使用我的一些枚举和结构。

我必须在哪里放置我的枚举和结构?如何在functions.c和functions2.c中为它们编写声明?我的功能(来自不同的文件)必须看到它们。

例如,我在header.h中编写了这样的函数声明:

int func(void);
void func2(int);

但我不知道它是如何为枚举和结构写的。

此致

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

声明结构:

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;

声明枚举的实例。