함수에서 indexnode*형의 변수 list를 만들고 메모리 할당을 한 후 그 함수를 다시 불렀을 때
list라는 이름에 이전에 할당했던 메모리의 주소가 계속 남아있습니다.
이게 항상 그런건 아니고 남아있는 경우도 있고 안남아있는 경우도 있던데
혹시 왜 이렇게 되는지 아신다면 알려주시면 정말 감사하겠습니다.
함수를 새로 불렀는데 왜 변수가 남아있는지 이해가 안되네요....
왜 gdb에 indexnode* list가 표시 안되는지도 이해가 안되고....
추가: list를 NULL로 초기화시
...아~주 우연히 그렇게 돌아가는 걸, 동작설명하라니-_-;; 네놈이 포인터 선언후 초기화를 안시키는 지랄을 했기때문에 이전 쓰레기값이 그대로 남아있는 거염. 포인터는 제대로 초기화하라고 안가르쳐주던?
ㄴ indexnode* list; 를 indexnode* list = NULL;로 바꾸었는데 그래도 list에 메모리를 할당하려하면 오류가 나오네요.... 혹시 초기화를 다르게 해야하나요?
아니 그리고 malloc이 indexnode* 형을 넘겨주는데 초기화가 필요한가...?