[C언어] 포인터를 이용한 다중 배열 요소의 출력 - 2 -
이번에는 포인터를 이용한 다중 배열 요소의 출력을 해보도록 하겠습니다.
*(a+0) 형식을 응용한 형태의 꼴로 구현 할 수 있습니다.
a[2][2][2] 의 경우 배열로 어떻게 표현하나요?
int a[2][2][2] = {{{3,3},{3,3},{3,3}},{{a,b},{b,c},{c,a}},}
이런 형태로 구현이 가능하겠죠.
이런 다차항의 배열 또한 역시나 수식으로 표현하실 수가 있습니다.
a[i][j]
*(*(a + i) + j)
단, a는 포인터로 연결된 배열 변수
이처럼 다중 포인터 역시나 쉽게 구현이 가능하겠습니다.
아래의 소스코드를 가지고 연습해보시기 바랍니다.
#include <stdio.h>
int main()
{
int a[2][3][2] = {{{10,20},{20,30},{30,40}},{{60,70},{70,80},{90,30}}};
int b[2][3] = {{10,20,30},{20,30,40},};
int c[5] = {10,20};
int * nk;
nk = c;
/* 주의 : 포인터 변수로 선언 후에 배열 포인터로 지정하여 계산한다.*/
printf("%d", *(*(*(a+1) + 2) + 0));
}
'소프트웨어(SW) > GNU - C, C++' 카테고리의 다른 글
[C언어] 포인터 변수 관계 (124) | 2009.06.07 |
---|---|
[C언어] 포인터 변수에 번지 할당 (130) | 2009.06.07 |
[C언어] 포인터를 이용한 배열 요소의 출력 - 1 - (162) | 2009.05.14 |
[C언어] 포인터 연산 (122) | 2009.05.13 |
[C언어] 포인터에 익숙해지는 방법은... (136) | 2009.05.13 |