본문 바로가기

IT/C언어

C언어본색 연습문제 Part 2.3.5

1. 문제

다음 그림을 보고 1단계에서 2단계까지를 나타내는 프로그램을 작성하세요.


2. 결과




3. 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
 
int main()
{
    int array[3= { 10,20,30 };
    int *ip = NULL;
    int **ipp = NULL;
 
    printf("%d %d %d \n", array[0], array[1], array[2]);
 
    ip = &array;
    ipp = &ip;
 
    printf("------------\n");
    printf("%d %d %d \n", array[0], array[1], array[2]);
    printf("%d %d %d \n", ip[0], ip[1], ip[2]);
    printf("%d %d %d \n", (*ipp)[0], (*ipp)[1], (*ipp)[2]);
 
 
 
}
cs

4. 설명

ip = &array // 배열의 이름은 배열의 시작주소이기에 &를 생략해도 가능합니다.


주의점. *ipp[0]은 ipp[0]이 더 우선순위에 있기 때문에, 오류가 발생합니다.

(*ipp)[0] 이렇게 사용해서, 우선순위를 명확하게 해주세요.