나는 C를 배우고 있으며 typedef
에 대해 명확하지 않습니다. 나는 Linked List를 만들고 있습니다.Typedef 사용이 명확하지 않음
#ifndef
struct Node;
typedef struct Node *PtrToNode;
typedef PtrToNode List;
typedef PtrToNode Position;
List MakeEmpty(List L);
int IsEmpty(List L);
int Islast(Position P, List L);
Position Find(ElementType X, List L);
void delete(ElementType X, List L);
Position FindPrevious(ElementType X, List L);
void Insert(ElementType X, List L, Position P);
ElementType Retrieve(Position P);
#endif
type.h 나는 ElementType
이 typedef
로 생성되지 않은 의심의 여지가 있지만 우리는 어떻게이 선언을 사용할 수 있습니다.
type.c는
#include<stdio.h>
#include "type.h"
struct Node
{
ElementType Element;
Position Next;
};
Struct Node
에서 ElementType
의 선언이 유효한지입니다. 그렇다면 어떻게?
이 코드는 에러없이 컴파일됩니다. – drolando
'ElementType'은 어디에 정의되어 있습니까? –