더북(TheBook)

스파이는 각 집의 암호에서 1을 빼야 합니다. 뭘 해야 할까요? 미션맨이 처음 방문한 곳으로 갑니다. 그리고 스파이가 방문한 곳의 값, 즉 *스파이에서 1을 빼면 됩니다. 미션맨은 처음에 철수네를 방문합니다. 이렇게 하면 철수 = 철수 - 1;과 완전히 똑같은 코드가 됩니다. 그럼 스파이가 방문한 곳의 주소와 암호를 출력해 봅시다.

7.2.4 포인터추가하기.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", 미션맨, *미션맨); 
    *미션맨 = *미션맨 * 3;
    printf("미션맨이 암호를 바꾼 곳의 주소 : %p, 암호 : %d\n", 미션맨, *미션맨);
    // 포인터 변수를 추가해 값 바꾸기
    printf("\n>> 스파이가 미션을 수행하는 중 <<\n"); // 구분을 위해 추가
    int * 스파이 = 미션맨;
    *스파이 = *스파이 - 1; // 철수 = 철수 - 1;
    printf("스파이가 방문한 곳의 주소 : %p, 암호 : %d\n\n", 스파이, *스파이);
    return 0;
}

실행결과 icon_con

철수네 주소 : 00000080D0BEFA24, 암호 : 1
영희네 주소 : 00000080D0BEFA44, 암호 : 2
민수네 주소 : 00000080D0BEFA64, 암호 : 3
미션맨이 방문한 곳의 주소 : 00000080D0BEFA24, 암호 : 1
미션맨이 암호를 바꾼 곳의 주소 : 00000080D0BEFA24, 암호 : 3

>> 스파이가 미션을 수행하는 중 <<
스파이가 방문한 곳의 주소 : 00000080D0BEFA24, 암호 : 2
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.