0

宿題はありませんが、基本的なことをしている間に道に迷ったようですので、質問します。

2 つの C ソース ファイルがあるとします。1.c & 2.c

2.c は次のとおりです。

typedef struct mystr_
{
    int a;
    float b;
}mystr;

void fun()
{
    mystr q;

    some code....
}

1.c は以下のとおりです。

#include "stdio.h"

void fun();


main()
{
    //How to access / declare a variable of type mystr here.

    mystr *v1;//This obviously gives compiler errors

      some code....    

}

ファイル 1.c から 2.c で定義された構造体 mystr にアクセスして、そこにその構造体型の変数を含める方法は?

編集:

OPで言及するのを忘れてすみません。何らかの理由で宣言をヘッダー ファイルに移動できません --> 既存のコードをチェックインしようとしているのは簡単なハックです。次に、他のソース ファイルから直接アクセスする方法はありますか?

4

1 に答える 1

3

ヘッダーを使用します。

ファイルを作成する2.h

typedef struct mystr_
{
    int a;
    float b;
}mystr;

そして、それを含めます1.c

#include "2.h"
#include "stdio.h"

void void fun();

編集: 宣言をヘッダー ファイルに抽出してインクルードすることはできないため、宣言をコピーする以外に方法はありません。これは非常に脆弱な構成であり、迅速ですが主に汚いため、他のオプションがない場合を除き、実際にはお勧めしません。

于 2012-05-03T09:35:30.403 に答える