0

main.c、functions.c、functions2.c、header.hのファイルをいくつか作成しました。関数.cおよびfunctions2のいくつかの関数は、私のいくつかの列挙型と構造体を使用します。

列挙型と構造体はどこに配置する必要がありますか?関数.cとfunctions2.cでそれらの宣言を書く方法は?私の関数(異なるファイルから)はそれらを見る必要があります。

たとえば、私はそのような関数の宣言をheader.hに記述しました。

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

しかし、列挙型と構造体に対してどのように記述されるかはわかりません。

よろしく

4

2 に答える 2

1

関数の例.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
于 2013-02-08T20:38:30.547 に答える
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;

列挙型のインスタンスを宣言します。

于 2013-02-08T20:39:42.900 に答える