Domanda

I aveva struct point {(...)}; definito. Ma con gli standard ANSI sembra che devo farlo con typedef. Come faccio a fare questo in modo corretto? typedef struct point {} point;? typedef struct {} point;? typedef struct point {};?

È stato utile?

Soluzione

Si può fare:

typedef struct Point { ... } MyPoint;

e quindi utilizzare entrambi i tipi di dichiarazioni:

struct Point p1;
MyPoint p2;

Altri suggerimenti

Entrambi questi sono corrette:

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

Il primo definisce versione struct point e quindi definisce point come alias per esso, mentre il secondo definisce point come alias per uno struct anonima.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top