ねえ。ヘッダーと複数のソース
struct something {
int a;
int b;
};
int all[25][9];
このヘッダーファイルは、私のプロジェクトにあるすべての3つの.cファイルに含まれています。ファイルの1つ(メインファイル)はmain関数を持ち、他のファイルはメインファイルで使用される関数を持っています。また、extern型のvariableNameを使用して、このメインファイルで宣言されている変数も使用します。しかし、私はstruct something *stuff;
を宣言し、それをメインファイル(そしてこれらの他のファイルはこのstuff
と直接動作します)にmallocしていますが、私のall
2d配列はヘッダファイル以外は宣言されていません。これらの余分な.cファイルの1つでこの配列を使用します。このall
配列は、それぞれに宣言されますか?私はそれをこのようにするべきですか?私の目的のために、そのヘッダファイルにはall
への参照が必須です。 all
をall[][]
として宣言し、.cファイルなどのサイズを割り当てる必要がありますか?
いっそのは、ヘッダー内のtypedefを使用し、定義ではなく、逆の場合もあります。 –
@ John Zwinck:その場合は、ヘッダーを定義するファイルにヘッダーを含める限り、コンパイルエラーが発生するはずです。 – caf