자료구조를 공부중인데 오늘 이해가 안되는 소스가 있어서요
단순 연결 리스트를 구현하는 예제인데
typedef struct ListNode{
char data[10];
struct ListNode *link;
}listNode;
리스트에 사용되는 노드를 이렇게 선언하는데 왜 마지막에 listNode를 한번 더 써주는 거죠?
typedef struct{ ... }name;
typedef struct name{ ... };
이렇게 스트럭트 직후에 쓰거나 아니면 스트럭트 다음에 블럭 닫고 나서 쓰거나
둘 중에 하나만 써야 하는게 아닌가요?
단순 연결 리스트를 구현하는 예제인데
typedef struct ListNode{
char data[10];
struct ListNode *link;
}listNode;
리스트에 사용되는 노드를 이렇게 선언하는데 왜 마지막에 listNode를 한번 더 써주는 거죠?
typedef struct{ ... }name;
typedef struct name{ ... };
이렇게 스트럭트 직후에 쓰거나 아니면 스트럭트 다음에 블럭 닫고 나서 쓰거나
둘 중에 하나만 써야 하는게 아닌가요?
왠지 저렇게 쓰면 대문자 소문자 다 허용한다는 옵션이 있을거 같은 느낌이 문득 드는데 컴파일러가 없어서 테스트를 못 해보네요 ㅠ
typedef 뭐가오든지말든지 nickname;
typedef 를 같이 써서 그래. struct ListNode { int value; struct ListNode* next; }; 이렇게만 하면
나중에 항상 struct ListNode node; 이런식으로 써야하니까, 그냥 listNode node; 이렇게 간단히 표현하려고
ㄴ 그런데 간단히 표현하려면 그냥 ListNode를 쓰지 않고 블록 뒤에 쓰인 listNode만 쓰면 되지 않아요??
typedef struct{ ,,, }listNode; 이렇게요
그러면 struct 내부에 다음 노드의 포인터를 선언할 수가 없어요
typedef 로 형 선언이 되기 전이니까요
typedef 타입명 지정한타입명; ㅇㅇ
아 구조체 내부에 구조체포인터를 지정하기 위해서 그랬구나 감사합니다 횽들