[활동 정리] - 비밀번호 : helloㅁㅁㅁ/[2023]하계 모각코 개인

[2023 하계 모각코] "아는 형님의 아는 사람의 아는 동생의 아는 코딩이요" [1회차] 계획 및 결과

DevCat_ 2023. 7. 10. 18:47

1회차 목표 : C언어 포인터 복습

-C언어의 포인터를 복습한다.

일정 : 7/10 16:00~19:00(오후 4시~오후 7시)

 

1회차 공부 내용 :

포인터는 메모리 주소값을 저장하는 자료형이다.

변수명 앞에 &을 붙이면 메모리 주소를 알려준다. 포인터 타입의 변수명 앞에 *을 붙이면 주소에 담고 있는 값을 알려준다.

포인터 설명

#include <stdio.h>

void swapArrays(int **ptr1, int **ptr2) {
    int *temp = *ptr1;
    *ptr1 = *ptr2; 
    *ptr2 = temp;
}

int main() {
    int arr1[5]; 
    int arr2[5]; 
    
    int i;
    for ( i = 0; i < 5; i++)
    {
        scanf("%d ",&arr1[i]);
    }
     for ( i = 0; i < 5; i++)
    {
        scanf("%d ",&arr2[i]);
    }
    
    int *ptr1 = arr1; 
    int *ptr2 = arr2; 
    
    swapArrays(&ptr1, &ptr2);

    for ( i = 0; i < 5; i++)
    {
        printf("%d ",*(ptr1+i));
    }
    printf("\n");
    for ( i = 0; i < 5; i++)
    {
        printf("%d ",*(ptr2+i));
    }
    
    return 0;
}

C언어는 함수에서 가리키는 것을 바꿀 때, 포인터를 이용해서 바꾸어야 함수가 반환되고 나서도 그 수정된 것이 저장된다.