728x90
300x250

[C언어] 포인터를 이용한 배열 요소의 출력 - 1 -

배열의 경우에는 포인터와 가장 밀접한 관계(Relation)을 성립하고 있습니다.
결국 이 말은 배열을 포인터로 사용할 수 있다는 뜻이기도 하지요.

이론적인 부분들에 대해서는 별도로 교제를 사서 공부하시면 되겠습니다.
그래도 혹시나 하는 마음에 조금 설명을 하고자 합니다.


 p == a == &a[0], p+n == &a[n]
 *p == a[0],
 *(p+n) == a[n]
 p2 = &a[3] == p+3,
 p2+1 == &a[4] == p+4,
 p2+2 == &a[5] == p+5
 *p2 == a[3] == *(p+3)
 




1. 배열 요소로 쉽게 출력하는 방법

Example : a[3]의 값을 포인터 수식으로 표현한다고 가정하고, 다음의 절차를 따르도록 합니다.

[단계 1] : 배열 기호[]를 생략하고, 배열명 a앞으로 빼내면서 *로 바꿉니다.

*a3

[단계 2] : * 뒤에 남은 요소를 (배열명+첨자) 형태로 바꿉니다.

*(a+3)

이게 전부입니다. 참 쉽죠??

#include <Stdio.h>

int main()
{

 int a[5] = {100, 200, 300, 400, 500};

 int *nk;

 nk = a;

 printf("%d", *(nk));

}

반응형

+ Recent posts