#include <stdio.h>
// 함수 원형
void swap(int*, int*); // 두 정수를 교환하는 함수의 선언 (포인터 매개변수 사용)
int main(void){ // 프로그램 시작
int a, b; // 정수형 변수 a, b 선언
a = 10; // a에 10 초기화
b = 20; // b에 20 초기화
printf("before swap() : a = %d, b = %d\n", a, b); // 호출 전 a와 b의 값
swap (&a, &b); // a와 b의 주소 전달
printf("after swap() : a = %d, b = %d\n", a, b); // 호출 후 a와 b의 값
return 0; // 프로그램 종료
}
void swap(int*a, int*b){ // 두 정수를 교환하는 함수 정의
int temp; // 정수형 변수 temp 선언
temp = *a; // 포인터 a가 가리키는 값을 temp에 저장
*a = *b; // 포인터 b가 가리키는 값을 포인터 a가 가리키는 위치에 저장
*b = temp; // temp에 저장된 값을 포인터 b가 가리키는 위치에 저장
printf("in swap() : a = %d, b = %d\n", *a, *b);
// swap 함수 내부에서 교환된 실제 값 출력
}