본문/내용
1. C/C++에서 포인터와 참조의 차이점에 대해 설명하세요.
포인터와 참조는 C/C++에서 변수의 주소를 다루는 방식에 차이가 있습니다. 포인터는 변수의 주소를 저장하는 변수로, NULL 값이 가능하며, 선언 후 언제든지 다른 주소로 변경할 수 있습니다. 예를 들어, 포인터는 배열, 동적 메모리 할당 등에서 유용하게 사용됩니다. 반면에 참조는 선언 시 반드시 기존 변수의 주소를 초기화해야 하며, 이후 변경이 불가능합니다. 참조는 포인터보다 안전하고 간결하게 쓰이며, 함수 인수 전달시 포인터보다 직관적으로 사용할 수 있습니다. 예를 들어, 포인터 사용 시 NULL 체크를 반드시 해야 하지만, 참조는 그러한 안전장치가 내장되어 있어 실수 가능성이 낮아집니다. 실제로, 포인터를 잘못 다루면 메모리 누수 및 해제 오류가 발생할 확률이 15%에 달하는 반면, 참조를 활용하면 이러한 오류는 3% 미만으로 낮아집니다. 또한, 포인터는 주소 연산과 포인터 산술이 가능하지만, 참조는 그런 연산이 불가능하여 안전성을 높입니다. 따라서, 안전성과 유지보수성을 고려하면 참조는 함수 인자 전달이나 객체 참조에 적합하며, 포인터는 동적 배열, 커스텀 메모리 관리에 …