typedef struct stackNode
{
int data;
struct stackNode *nxtptr;
} StackNode_t;
Если вы не хотите иметь "struct stackNode" внутри структуры, я обнаружил, что могу сделать это:
typedef struct STACKNODE STACKNODE;
typedef struct STACKNODE
{
int data;
STACKNODE *nxtptr;
};
Чтобы вы могли кодироватьтакая вещь, и она прекрасно компилируется, и она работает просто отлично, может показаться нелогичным.Это может быть противоречивым, потому что я использую одно и то же имя для struct STACKNODE и typedef STACKNODE.И далее, я набираю typedef- ing struct до она существует как определение.Тем не менее, я обнаружил, что могу делать это с Microsoft C на многих версиях до сегодняшнего дня и с Borland C (еще тогда).
Мне это нравится, потому что, если я уже собираюсь определить структуру, яМне нравится прибегать к "struct STACKNODE * nxtptr" (т. е. использовать слово "struct") внутри определения структуры.