본문 바로가기

Computer/C/C++

포인터

포인터란?

처리할 데이터를 직접 저장하는 것이 아니라 처리할 데이터가 있는 곳의 주소를 가리키는 변수 

 

 

포인터를 사용하면 직접 참조할 수 없는 변수를 간접적으로 참조할 수 있으며

기억 공간을 보다 효율적으로 사용할 수 있고

프로그램의 성능 또한 개선시킬 수 있다.

 

예를들어 파일에서 문자열을 읽어들일때, 문자열을 읽는 함수는

"어디까지 읽었다"는 것의 위치를 포인터 형태로 리턴해준다.

이런 포인터의 기능이 없다면, 문서파일을 입력받을 때, 반정도 입력받고 그 뒤쪽을 입력받고 싶을 때 어디서부터 다시 입력받을지 프로그램으로 만들어 낼 수가 없다.

또 함수를 사용 할때

call by value로 값을 복사해서 가져가면 함수속에서는 문제없지만 돌아오면 원상복귀 되있다. 

그래서 데이터의 주소를 넘겨 그 주소에 있는것으로 오퍼레이트 하도록 하는게 포인터 역할이다.

배열 100칸짜리가 있다고 치면 100개를 통째로 넘겨주는 것보다 첫번째 주소만 포인터로 넘기고

포인터를 하나씩 증가시켜서 다루는 것이 훨씬 효율적이고 쉽기 때문이다.

 

 

 

 

 

 

a.txt

 

'Computer > C/C++' 카테고리의 다른 글

연산자 오버로딩  (0) 2013.05.21
구조체, 클래스  (0) 2013.05.19
동적 할당  (0) 2013.05.14
정렬 (2)  (0) 2013.05.12
정렬 (1)  (0) 2013.05.12