C 언어에서 포인터 변수를 선언할 때, 포인터 변수의 타입 이름 앞에 '' 기호를 사용하여 선언할 수 있습니다. 이때 '' 기호가 타입 이름 앞에 붙으면 포인터 변수를 선언하는 것이고, 변수 이름 뒤에 붙으면 해당 포인터 변수가 가리키는 메모리 공간에 저장된 값을 참조하는 것입니다.
따라서 포인터 변수를 왼쪽에 쓴다는 것은 포인터 변수 자체를 선언한다는 의미이며,
포인터 변수를 오른쪽에 쓴다는 것은 해당 포인터 변수가 가리키는 메모리 공간에 저장된 값을 참조한다는 의미입니다.
예를 들어, 아래와 같은 코드가 있다고 가정해보겠습니다.
int* ptr;
int num = 10;
ptr = # // 포인터 변수 ptr이 num 변수의 주소를 가리킴
*ptr = 20; // ptr이 가리키는 메모리 공간에 20을 저장함 (num 변수의 값이 20으로 변경됨)
위 코드에서 int* ptr; 는 포인터 변수 ptr을 선언하는 것이고, ptr = 20; 은 ptr이 가리키는 메모리 공간에 20을 저장하는 것입니다.
따라서 포인터 변수를 선언할 때는 왼쪽에 '' 기호를 사용하고, 포인터 변수가 가리키는 메모리 공간에 저장된 값을 참조할 때는 오른쪽에 '*' 기호를 사용합니다.