프알못이라 구조체, 포인터 부분이 이해가 잘 안되서 한번 끄적이면서 정리해볼꼐여
1.
노드는 이렇게 생겼어여
struct listNode {
char data[4] <-- 요기가 데이터 부분
listPointer link; <-- 요기가 다음 데이터랑 이어주는 노드 간의 연결 고리에여
};
2.
근데 이렇게만 쓰면 listPointer 부분이 정의가 안되있어서 오류가 날꺼에여
struct listNode *listPointer; 를 먼저 선언해서
(마치 int *pointer; double *ptr; 등등을 선언하는 것처럼,)
구조체 listNode 의 주소를 담을 수 있는 뽀인터 listPointer를 만들어주어요.
struct listNode *listPointer;
struct listNode {
char data[4]
listPointer link;
};
3.
자꾸 사용하는데 귀찮아서 typedef 를 통해 쉽게 부르고싶어여
예문은 이렇게 되있는데
typedef struct listNode { <-- typedef // struct listNode // ?
char data[4];
listPointer link;
};
typedef struct listNode *listPointer; <-- 여기 부분이 잘 이해가 안되용
1. struct listNode의 포인터인 listPointer 를 뭐라고 부를지 적어줘아하지 않나여?
typedef // struct listNode *listPointer // ???
띠용 확실히 정리하면서 해보니까 뭘 모르는지 자세히 알겠네용
1. typedef 를 사용할때
typedef "타입" "별명" 이런식으로 적어줘하는게 아닌가여?
typedef struct listNode *listPointer; 나
typedef struct listNode { ... }; 이런식으로 적으면
"타입"은 있는데 "별명"을 안정해준게 아닌가여?
별명 부분을 지정하지 않으면 typedef를 사용하는 의미가 없지 않을까여?
아무도 길어서 읽지 않았습니당