본문 바로가기
c언어

[c언어 개념] 포인터 사용

by chu_dw 2022. 7. 18.

앞에서 포인터의 기본 개념과 배열, 함수에 대해 정리했으니 포인터의 사용에 대해 정리하겠다.

 


● 포인터 사용 이유

 

앞에서 정리 했듯이 변수 즉 저장되는 데이터에 접근하는 방법은 변수 자체로 접근하는 직접접근, 주소값 즉 포인터로

접근하는 간접참조 두가지 방법이 있다.

간접참조 할 때 포인터가 사용되는데 굳이 왜 복잡하게 주소값으로 접근을 하는지 몇가지 예시를 들어 보겠다.

main의 배열에 10개의 수가 저장되어있고 이 수들을 더해주는 함수를 만든다 생각해보자.

포인터를 사용하지 않고 만들면 아래와 같이 만들 수있다. (편의상 6개만..)

값을 일일이 함수로 전달해줘야 하는것이 상당히 귀찮고 배열의 장점인 반복문과도 함께 사용하지 못한다.

만약 배열이 10개가 아니라 1000개 였으면 거의 만들 수 없었을 것이다.

 

이러한 문제를 해결하기 위해 포인터를 사용한다.

같은 기능의 함수를 포인터를 이용하여 만들면 아래와 같다.

 

배열의 시작 주소값을 매개변수로 함수에 보내 함수에서 배열을 간접참조 하여 계산이 가능하게 하는 것이다.

이것도 그림으로 표현해보면 이해가 쉬울 수 있다.

 

이 그림만 잘 이해하면 이 뒤에나오는 포인터의 활용도 쉽게 이해가 가능할 것이다.

'c언어' 카테고리의 다른 글

[C언어 문제] baekjoon문제 풀이 07/13  (0) 2022.07.13
[C언어 문제] baekjoon문제 풀이 07/06  (0) 2022.07.07
[c언어 개념] 함수  (0) 2022.07.07
[C언어 문제] baekjoon문제 풀이 07/05  (0) 2022.07.06
[c언어 개념] 배열  (0) 2022.07.05