본문 바로가기
C/☞

[44] 연습문제 : 포인터

by TR. 2020. 7. 23.

연습문제 1

    // 문제 1)
    // 포인터를 활용한 a와 b 값 교체
    int a = 10;
    int b = 20;
더보기
    int a = 10;
    int b = 20;

    int *ap = &a;
    int *bp = &b;
    int temp = ap[0]; // *ap;

    *ap = *bp;
    *bp = temp;
    printf("a : %d / b : %d\n", *ap, *bp);

 

연습문제 2

    // 문제 2) 
    // 포인터를 활용한 배열 arr1[]과 arr2[] 의 값 교체
    // 값을 찾아 교체 : 40 <-> 80
    int arr1[3] = {30, 40, 50};
    int arr2[3] = {60, 70, 80};
더보기
    int arr1[3] = {30, 40, 50};
    int arr2[3] = {60, 70, 80};
    
    int *p1 = &arr1[0];
    int *p2 = &arr2[0];

    int idx = -1;
    for(int i=0; i<3; i++){
        if(p1[i] == 40){
            idx = i;
        }
    }
    for(int i=0; i<3; i++){
        if(p2[i] == 80){
            temp = p2[i];
            p2[i] = p1[idx];
            p1[idx] = temp;
        }
    }

    // print
    printf("arr1\tarr2\n");
    for(int i=0; i<3; i++){
        printf("%d\t", arr1[i]);
        printf("%d\n", arr2[i]);
    }

'C > ' 카테고리의 다른 글

[46] 함수의 종류  (0) 2020.07.23
[45] 함수 기본  (0) 2020.07.23
[43] 배열과 포인터  (0) 2020.07.23
[42] 포인터 기본  (0) 2020.07.23
[41] 셔플  (0) 2020.07.23

댓글