Open Nineclown opened 5 years ago
typedef struct _node { int data; _node *next; _node *prev; } Node; Node list[100]; Node temp_node;
list[3]의 prev 멤버 변수는 다른 노드 구조체의 주소를 저장하는 변수입니다. 만약 prev의 값을 초기화 하지 않고 *list[3].prev = temp_node 처럼 저장하려고 하면 에러가 발생합니다.
*list[3].prev = temp_node
prev에는 쓰레기 값 혹은 NULL이 저장되어 있습니다. 그렇기 때문에 쓰레기 값 혹은 NULL을 주소로 하는 곳의 값을 확인(*)한다는 것은 메모리에 잘못 접근하는 행위이고 따라서 에러가 발생하게 됩니다.
Pointer
포인터 변수는 주소값을 저장하는 변수입니다.
What?
list[3]의 prev 멤버 변수는 다른 노드 구조체의 주소를 저장하는 변수입니다. 만약 prev의 값을 초기화 하지 않고
*list[3].prev = temp_node
처럼 저장하려고 하면 에러가 발생합니다.Why?
prev에는 쓰레기 값 혹은 NULL이 저장되어 있습니다. 그렇기 때문에 쓰레기 값 혹은 NULL을 주소로 하는 곳의 값을 확인(*)한다는 것은 메모리에 잘못 접근하는 행위이고 따라서 에러가 발생하게 됩니다.