このような私の構造を使用していました。私はエラーを隠すことができると言っているので、typedefを好きではありません。 しかし、私はいくつかのサンプルコードを見ていて、このように宣言された構造体を見ました。そして、これは私がそれらを宣言する通常の方法です。宣言構造の違い
次のように使用してstruct person
{
int age;
char name[32];
};
:すべてのこれらの違いは何
struct
{
int age;
char name[32];
}person;
と
struct _person
{
int age;
char name[32];
}person;
:しかし、私はこのように宣言構造を見てきました
struct person person_a;
person_a.age = 20;
etc.
を異なる技術、あなたがどの特定のものを使うのが最善であるかを決める方法は?任意の提案のための
多くのおかげで、
なぜtypedefがエラーを隠すことができるのか不思議です。私はtypedefを好む傾向があります。特に、 'extern void func(struct something * xxx);を使用することで問題に遭遇することができないためです。あらかじめ 'struct something'の宣言はしていません。つまり、 'extern void func(something * xxx);'コンパイルするには何かのtypedefが必要です。代替策はコンパイルしますが、あなたが期待していることはしません(しかし、それを逃してしまうかもしれません)。 –