게임 개발/C언어

[열혈강의 c프로그래밍 풀이]-문제13[포인터를 이용한 배열의 접근]

Heesuk Lee 2017. 2. 27. 17:17

또다시 너무 오랜시간 포스팅을 안했네요ㅎㅎ


이젠 다시 한국으로 돌아와서 글올리네요ㅎㅎ




돌아오기전에 여행 정말 많이 다녔던 것 같네요ㅋㅋ






문제1

길이가 5인 int형 배열arr을 선언하고 이를 1,2,3,4,5로 초기화한 다음, 이 배열의 첫번째 요소를 가리키는 포인터 변수ptr을 선언한다.

그 다음 포인터 변수 ptr에 저장된 값을 증가시키는 형태의 연산을 기반으로 배열요소에 접근하면서 모든 배용요소의 값을 2씩 증가시키고,

정상적으로 증가가 이뤄졌는지 확인하는 예제를 작성해보자.


<CODE>


<결과>





문제2

문제1에서는 포인터 변수 ptr에 저장된 값을 변경시켜가면서 배열요소에 접근하라고 해였다.

그런데 이번에는 포인터 변수 ptr에 저장된 값을 변경시키지 않고, ptr을 대상으로 덧셈 연산을 하여,

그결과로 반환되는 주소 값을 통해서 모든 배열요소에 접근하여 값을 2씩 증가시키는 예제를 작성해보자.



<CODE>


<결과>





문제3

길이가 5인 int형 배열 arr을 선언하고 이를 1,2,3,4,5로 초기화한 다음, 이 배열의 마지막 요소를 가리키는 포인터 변수 ptr을 선언한다.

그 다음 포인터 변수 ptr에 저장된 값을 감소시키는 형태의 연산을 기반으로 모든 배열요소에 접근하여, 배열에 저장된 모든 정수를

더하여 그 결과를 출력하는 프로그램을 작성해보자.



<CODE>


<결과>





문제4

길이가 6인 int형 배열 arr을 선언하고 이를 1,2,3,4,5,6으로 초기화한 다음,

배열에 저장된 값의 순서가 6,5,4,3,2,1이 되도록 변경하는 예제를 작성해보자.

단, 배열의 앞과 뒤를 가리키는 포인터 변수 두 개를 선언해서 이를 활용하여

저장된 값의 순서를 뒤바꿔야 한다.



<CODE>


<결과>




13장은 이렇게 마무리되지만 포인터의 이해와

포인터와 배열의 관계에 대해 많은 부족함을 느낀다.


앞으로의 연습을 통해 좀더 알아갈수있었으면 좋겠다.

반응형