본문 바로가기

C언어

심화 C 언어 5 (포인터 2 - 포인터를 쓰는 이유)

값을 서로 뒤바꿔야 하는 함수인 swap 이라는 함수

포인터가 없는 상태로는 값을 서로 뒤바꿀수가 없다

 

방법 1 

#include "prc.hpp"


void swap (int* a, int* b) {
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}


int main(){
    int v1 = 100;
    int v2 = 200;
    
    swap(&v1, &v2);
    
    printf("v1 : %d\nv2 : %d\n", v1, v2);
    
    return 0;
}

방법 2

#include "prc.hpp"


void swap (int& a, int& b) { //int의 reference 타입, 변수 그 자체를 가져온다 생각
    int temp;
    temp = a;
    a = b;
    b = temp;
}


int main(){
    int v1 = 100;
    int v2 = 200;
    
    swap(v1, v2);
    
    printf("v1 : %d\nv2 : %d\n", v1, v2);
    
    return 0;
}

근데 일단 방법 1 만 쓸 것임