포인터는 주소값을 가리키는 것
변수에 &을 앞에 붙여 &변수 를 하면 주소값을 알 수 있다.
주소값을 알고 있다면 변수를 불러 데이터를 고치지 않고 주소값으로 찾아가 바꾸면 기존에 변수도 값이 바뀐다.
#include<stdio.h>
int
main(void)
{
// 포인터
// [철수] : 101호-> 메모리
공간의 주소
// [영희] : 201호
// [민수] : 301호
// 각
문 앞에 '암호'가 걸려 있음
int 철수 = 1; // 암호
int 영희 = 2;
int 민수 = 3;
printf("철수네
주소 : %d, 암호
: %d\n", &철수, 철수);
printf("영희네
주소 : %d, 암호
: %d\n", &영희, 영희);
printf("민수네
주소 : %d, 암호
: %d\n", &민수, 민수);
// 미션맨!
// 첫
번째 미션 : 아파트의 각 집에 방문하여 문에 적힌 암호 확인
int * 미션맨; //포인터
변수
미션맨
= &철수; // 철수의
주소값을 가지게 한다.
printf("미션맨의
방문하는 곳 주소 : %d, 암호
: %d\n", 미션맨, *미션맨);
// 철수의
주소를 알고 있기에 그곳으로 가서 값을 가져온것.
미션맨
= &영희;
printf("미션맨의
방문하는 곳 주소 : %d, 암호
: %d\n", 미션맨, *미션맨);
미션맨
= &민수;
printf("미션맨의
방문하는 곳 주소 : %d, 암호
: %d\n", 미션맨, *미션맨);
// 두
번째 미션 : 각 암호에 3을 곱하라
미션맨
= &철수; // 철수의
주소값을 가지게 한다.
*미션맨 = *미션맨 * 3;
printf("미션맨의
암호를 바꾼 곳 주소 : %d, 암호
: %d\n", 미션맨, *미션맨);
미션맨
= &영희;
*미션맨 = *미션맨 * 3;
printf("미션맨의
암호를 바꾼 곳 주소 : %d, 암호
: %d\n", 미션맨, *미션맨);
미션맨
= &민수;
*미션맨 = *미션맨 * 3;
printf("미션맨의
암호를 바꾼 곳 주소 : %d, 암호
: %d\n", 미션맨, *미션맨);
return 0;
}
댓글 없음:
댓글 쓰기