포인터 함수 사용 이해하기
추천 자료: ASP.NET Core 인증 및 권한 부여
포인터는 특정 데이터의 메모리 주소를 저장하는 변수로, 이를 통해 메모리에 직접 접근하거나 함수 호출을 통해 변수의 값을 변경하는 등의 다양한 작업을 수행할 수 있습니다. 이번 예제에서는 포인터를 이용하여 함수 내에서 변수의 값을 변경하는 방법에 대해 알아보겠습니다.
코드: 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'의 값을 직접 변경할 수 있습니다.
추천 자료: .NET Blazor에 대해 알아보시겠어요? .NET Blazor 알아보기를 확인해보세요!