1

struct point {(...)};定義していました。しかし、C90 では、typedef を使用する必要があるようです。これを正しく行うにはどうすればよいですか?typedef struct point {} point;? typedef struct {} point;? typedef struct point {};?

4

2 に答える 2

4

できるよ:

typedef struct Point { ... } MyPoint;

次に、両方の種類の宣言を使用します。

struct Point p1;
MyPoint p2;
于 2010-12-21T14:03:07.050 に答える
3

これらはどちらも正しいです:

typedef struct point { /* ... */ } point;
typedef struct { /* ... */ } point;

最初のバージョンは定義struct pointpointてからそのエイリアスとして定義し、2 番目のバージョンはpoint無名構造体のエイリアスとして定義します。

于 2010-12-21T14:26:18.320 に答える