Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

C++ Pointer

1. 포인터는 무엇이고 장점이 무엇인지 서술하시오?


포인터는 프로그래밍에서 변수나 데이터의 메모리 위치를 가리키는 변수입니다.
메모리에 할당된 데이터에 직접적으로 접근할 수 있도록 도와주는 기능으로, 일종의
참조(reference)로 볼 수 있습니다.
포인터의 장점으로는 크게 4 가지가 있습니다.
a. 직접적인 메모리 조작
메모리의 특정 위치에 직접적으로 접근하여 데이터를 변경하거나 조작할 수
있음을 의미합니다.
b. 동적 메모리 할당
프로그램 실행 중에 메모리를 할당하고 해제하는 것을 의미합니다. 이를 통해
프로그램이 런타임시에 필요한 메모리를 효율적으로 관리할 수 있습니다.
c. 데이터 구조의 유연성
연결 리스트, 트리 등의 자료구조를 구현할 때 데이터를 유연하게 조작하고
관리할 수 있습니다.
d. 메모리 절약
배열을 복사할 때 포인터를 사용하면 배열의 요소를 복사하는 것보다 메모리
사용량이 적어집니다.
2. 포인터에서 사용되는 연산자를 설명하시오.
C++에서 포인터를 다룰 때 사용되는 연산자들은 다음과 같이 총 6 개로 나누어
설명할 수 있습니다.
a. 주소 연산자(&)
변수의 주소를 반환합니다.
b. 간접 참조 연산자 또는 역참조 연산자(*)
포인터가 가리키는 메모리 위치에 있는 값을 참조합니다.
c. 동적 메모리 할당 연산자(new, delete)
new 연산자는 동적으로 메모리를 할당하고, 해당 메모리의 주소를 반환합니다.
d. 멤버 선택 연산자(->)
포인터가 가리키는 객체나 구조체의 멤버에 접근합니다.
e. 범위 결정 연산자(::)
클래스의 정적 멤버나 전역 변수에 접근할 때 사용됩니다.
f. Smart 포인터:
메모리 누수를 방지하기 위해 사용됩니다.
3. 오버로드 함수의 장점을 기술하시오.

4. C++ 프로그램 언어에서 동적 메모리 할당은 어떻게 하는지 설명하시오.

5. 포인터를 사용한 배열에서 배열 원소의 메모리 번지를 찾는 프로그램을


간단히 작성하시오.

6. 배열과 구조 체의 차이점을 서술하시오.

7. 내포 구조 체는 무엇이며, 예를 들어 설명하시오.
8. 구조 체와 공용 체는 어떻게 다른지 설명하시오.

You might also like