scanf는 입력받은 값을 저장하기 위해 변수의 메모리 주소를 필요로 한다. 이는 함수가 주소를 통해 원래 변수의 값을 변경할 수 있도록 하는 방식으로, 위 코드의 Test(&a)와 동일한 원리다.
scanf
Test(&a)
void Test(int* a) { *a = 500; // a가 가리키는 메모리 주소에 값을 저장 } int a = 100; Test(&a); // 변수 a의 주소를 함수에 전달 printf("출력 : %d\n", a); // a의 값이 변경되어 출력: 500