트리에서 노드들의 정보를 업데이트할 때
동적 배열을 스택으로 사용하고 싶은데
정수형으로 간략히 나타내자면
int **stack = malloc(sizeof(int *) * 10);
for (int i = 0; i < 10; i++) {
stack[size] = malloc(sizeof(int));
*(stack[size]) = i;
size++;
}
...
free(stack);
이렇게 사용하면 안되는 것인가요?
실제로는 스택에 노드들의 주소가 저장되기 때문에
끝날 때 스택만 없애고 원소들은 없애면 아니되어요
구와와악
해당 댓글은 삭제되었습니다.
std::stack 쓰는 게 나을까요?
C로 하고 있는데 저게 안되면 C++로 하는 수 밖에 없어서... 가능하면 C로 해야해요
트리의 노드들이 부모에 대한 정보를 모르도록 구성해놔서 루트부터 탐색해야하는데 정보를 업데이트할 땐 아래에서 위로 가야해서 스택을 써야해요. 그냥 가변길이 배열 쓸까요?
um... 그게 제일 간단하긴 한데...
부모를 넣지 말라시네요 ^~^;;;;
노드 포인터 배열로 할께요 ㄱㅅㄱㅅ
배열로 만들면 (동적 할당 안하면) 스택에 생성돼서 free 안해줘도 메모리 누수가 없지요?
ㄱㅅㄱㅅ 항상 신세 집니다