용어?3 댕글링 포인터 (Dangling Pointer) 포인터가 반납한 메모리 주소를 여전히 가리키고 있다면, 이 포인터를 Dangling Pointer(댕글링 포인터)라고 부른다. ex:C언어에서 동적 메모리 할당(malloc 등)을 받아 사용하다가 해제(free)를 해주었음그러나 운영체제 or vscode 등에서 이미 free 된 메모리조각에 다른 포인터변수로 접근함댕글러 포인터로 인해 발생할 수 있는 문제들1. 예측 불가능한 동작해제한 메모리에 이전에 사용하던 정보가 남아있다면, 의도치 않은 방향으로 프로그램이 흘러갈 수 있음.2. 보안 문제메모리에 이전 정보가 중요한 정보였고, 댕글링 포인터가 사라지지 않은 정보를 가져다 사용할 수 있게 됨. 3. segmentation fault개발 환경과 고객의 컴퓨터 환경 등이 다르기 때문에 개발자 컴퓨터에선 1.. 2025. 5. 23. 메모리 오버헤드 (memory overhead) 주된 작업을 수행하는 데에 직접적으로 사용하는 메모리 외의 추가적으로 사용하는 메모리 1️⃣ 배열(array)정수 100개를 저장한다고 하면, 정수 100개 크기만큼의 메모리를 차지함.예를 들어, int형(4바이트) 배열이라면 → 100 × 4B = 400바이트만 사용하면 됨.2️⃣ BST(Binary Search Tree)같은 정수 100개를 저장하려고 해도,각 노드는 데이터(int)뿐만 아니라 왼쪽, 오른쪽 자식 노드를 가리키는 포인터(포인터는 8바이트)를 저장해야 함.즉, 각 노드마다 추가적인 메모리(오버헤드)가 필요함!만약 int형 데이터를 저장하는 BST라면,데이터: 4B왼쪽 포인터: 8B오른쪽 포인터: 8B➡ 총 20바이트!노드가 100개라면?20B × 100개 = 2000바이트 → 배열(4.. 2025. 2. 20. 키워드 : keyword 키워드 : 컴퓨터 프로그램용으로 고정된 예약어이자 식별자로 사용할 수 없는 단어 2024. 6. 8. 이전 1 다음