양사 2018. 5. 7. 09:57
c언어
실전코딩-포인터

이번에는 c언어로 실전코딩으로 해보겠습니다.

문제: a와 b에 저장된 값을 바꾸는 함수를 만들어라
사용가능 변수 및 함수
-main(): a, b
-changeanb(): *a, *b, c
참고: 출력 필요 없음, c는 임시저장용 으로만 사용가능, a와 b는 다른 값으로 초기화하여 확인이 가능하게 코딩

우선, 아래를 읽지 말고 먼저 풀어보세요!
포인터를 모르시는 분들은 main 함수에서 해결하려고 노력해보세요! 이때, a, b, c 3개 변수를 사용하세요.

정답
int changeanb(int *a, int *b){
  int c; //임시변수선언
  c=*a; //a 값을 c에 대입
  *a=*b; //b값을 a에 대입
  *b=c; //c에 있던 기존의 a값을 b에 대입
  return c; //기존 a값 반환. 필수아님
} //실행: changeanb(&a, &b);

포인터 사용 없이 할 때의 정답
//앞부분 생략, a, b, c 선언됨
c=a; //위와
a=b; //설명
b=c; //동일
//뒷부분 생략