본문 바로가기
개념/혼자 공부하는 C언어

chapter 9) 포인터를 사용한 두 변수의 값 교환

by kiseno 2024. 7. 23.
728x90
반응형
SMALL
#include <stdio.h>

void swap(int *pa, int *pb);

int main(void){
    int a= 10, b = 20;

    swap(&a, &b);
    printf("a :%d, b :%d\n", a,b);

    return 0;
}

void swap(int *pa, int *pb){
    int temp;

    temp = *pa;
    *pa = *pb;
    *pb = temp;
}

 

main() 함수
1-1. 정수형 변수 a와 b를 선언하고 각각 10과 20으로 초기화
1-2. `swap(&a, &b);` 호출하여 a와 b의 주소를 인자로 전달, 실제 값 교환을 수행
1-3. 교환된 a와 b의 값 출력, 결과적으로 a는 20, b는 10으로 교환됨

swap() 함수
2-1. 정수형 포인터 pa와 pb를 매개변수로 받아 해당 포인터가 가리키는 값을 교환
2-2. 임시 변수 temp를 사용하여 *pa의 값을 저장, *pa에 *pb의 값을 할당, 그리고 *pb에 temp의 값을 할당하여 두 정수의 값을 성공적으로 교환

728x90
반응형
LIST