7.2.3 포인터로 다른 변수의 값 바꾸기

    미션맨에게 두 번째 미션이 떨어졌습니다. 두 번째 미션은 각 집의 암호에 3을 곱하라는 겁니다. 어떻게 하면 될까요? 미션맨은 첫 번째 미션에서 주소로 암호를 알아냈죠? 이 방법을 쓰면 됩니다.

    미션맨이 다시 철수네 주소를 알아냅니다. 철수네 주소가 변수 미션맨에 들어 있으니 암호, 즉 값은 *미션맨으로 확인할 수 있습니다. 이번 미션은 철수네 암호에 곱하기 3을 해야 합니다. 따라서 *미션맨에 곱하기 3을 하고 이를 다시 *미션맨에 저장합니다. 여기까지 작성하고 값을 출력해 봅시다.

    7.2.3 포인터로값바꾸기.c

    int main(void) {
        int 철수 = 1;
        int 영희 = 2;
        int 민수 = 3;
        // 변수의 주소 출력
        printf("철수네 주소 : %p, 암호 : %d\n", &철수, 철수); 
        printf("영희네 주소 : %p, 암호 : %d\n", &영희, 영희);
        printf("민수네 주소 : %p, 암호 : %d\n", &민수, 민수);
        // 포인터 변수의 값 출력
        int * 미션맨; 
        미션맨 = &철수;
        printf("미션맨이 방문한 곳의 주소 : %p, 암호 : %d\n", 미션맨, *미션맨); 
        미션맨 = &영희;
        printf("미션맨이 방문하는 곳의 주소 : %p, 암호 : %d\n", 미션맨, *미션맨);
        미션맨 = &민수;
        printf("미션맨이 방문하는 곳의 주소 : %p, 암호 : %d\n", 미션맨, *미션맨);
        // 포인터 변수로 바꾼 값 출력
        미션맨 = &철수;
        *미션맨 = *미션맨 * 3;
        printf("미션맨이 암호를 바꾼 곳의 주소 : %p, 암호 : %d\n", 미션맨, *미션맨);
        return 0;
    }
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.