포인터 함수 사용 이해하기

  • 2 minutes to read

포인터는 특정 데이터의 메모리 주소를 저장하는 변수로, 이를 통해 메모리에 직접 접근하거나 함수 호출을 통해 변수의 값을 변경하는 등의 다양한 작업을 수행할 수 있습니다. 이번 예제에서는 포인터를 이용하여 함수 내에서 변수의 값을 변경하는 방법에 대해 알아보겠습니다.

코드: pointer_function.c

#include <stdio.h>

// 'update_value' 함수는 정수형 포인터를 매개변수로 받아 해당 주소의 값을 변경합니다.
void update_value(int* value)
{
    *value += 5; // 전달받은 포인터가 가리키는 주소에 저장된 값을 5 증가시킵니다.
}

int main(void)
{
    int number = 20; // 'number' 변수를 선언하고 초기 값으로 20을 할당합니다.

    printf("update_value 함수 호출 전: %d\n", number); // 'number'의 초기 값 출력

    update_value(&number); // 'update_value' 함수를 호출하면서 'number'의 주소를 인자로 전달합니다.
    // 이렇게 하면 함수 내에서 직접 'number'의 값을 변경할 수 있습니다.

    printf("update_value 함수 호출 후: %d\n", number); // 변경된 'number' 값 출력

    return 0; 
}

이 코드를 실행하면 다음과 같은 결과를 볼 수 있습니다:

update_value 함수 호출 전: 20
update_value 함수 호출 후: 25

이 예제에서는 'update_value'라는 함수를 선언하였습니다. 이 함수는 정수형 포인터를 매개변수로 받아 해당 포인터가 가리키는 메모리 주소에 저장된 값을 5 증가시킵니다. 'main' 함수에서는 'number'라는 변수를 선언하고 초기값으로 20을 할당한 후, 이 변수의 주소를 'update_value' 함수에 전달합니다. 이를 통해 'update_value' 함수 내에서 'number'의 값을 직접 변경할 수 있습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com