728x90
포인터
포인터는 변수의 주소를 말하며, C언어에서는 주소를 제어할 수 있는 기능을 제공한다.
- C언어에서 변수의 주소를 저장할 때 사용하는 변수를 포인터 변수라 한다.
- 포인터 변수를 선언할 때는 자료의 형을 먼저 쓰고 변 수명 앞에 간접연산자 *를 붙인다(ex. int*a;).
- 포인터 변수에 주소를 저장하기 위해 변수의 주소를 알아낼 때는 변수 앞에 번지연산자 &를 붙인다(ex. a= &b;).
- 실행문에서 포인터 변수에 간접 연산자 *를 붙이면 해당 포인터 변수가 가리키는 곳의 값을 말한다(ex. c = *a;).
- 포인터 변수는 필요에 의해 동적으로 할당되는 메모리 영역인 힙 영역에 접근하는 동적 변수이다.
포인터를 사용하는 이유
- 간결하고 효율적인 처리가 가능
- 더 빠른 기계어 코드 생성
- 배열, 구조체 등에 쉬운 접근
- 포인터에 대한 호출(Call by reference) 가능
- 동적 자료 객체 취급
포인터의 장점
- 메모리 주소를 참조해서 다양한 자료형 변수들의 접근과 조작이 용이하다
- Call by Reference에 의한 전역변수 사용 억제
- 배열과 같은 연속 데이터에 접근과 조작이 용이
- 메모리에 직접 접근 가능
포인터의 단점
- 오류를 범하기 쉽다
- 프로그램의 이해와 버그 찾기가 어렵다
- 메모리 절대 번지 접근 시 시스템 오류 초래
- 선언만 하고 초기화를 하지 않을 경우 쓰레기 주소를 가리키고 있기 때문에 사용에 주의
728x90
'정보처리기사 > 필기' 카테고리의 다른 글
[정보처리기사] 디지털 저작권 관리(DRM; Digital Right Management) (5) | 2023.05.05 |
---|---|
[정보처리기사] GANTT 차트 (1) | 2023.05.05 |
[정보처리기사] PERT 차트 (1) | 2023.05.04 |
[정보처리기사] 상향식 / 하향식 통합테스트 (1) | 2023.05.04 |
[정보처리기사] 페이지 교체 알고리즘 (1) | 2023.05.04 |