2020. 4. 19.

[c] 인프런 45. 미션맨(포인터)의 등장 강의 정리


포인터는 주소값을 가리키는
변수에 & 앞에 붙여 &변수 하면 주소값을 있다.
주소값을 알고 있다면 변수를 불러 데이터를 고치지 않고 주소값으로 찾아가 바꾸면 기존에 변수도 값이 바뀐다.



#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;
}



댓글 없음:

댓글 쓰기