해결된 질문
작성
·
132
답변 1
0
저렇게 작성해도 정상적으로 동작합니다. struct 바로 뒤에 꼭 구조체명을 쓸 필요는 없습니다. 구조체 이름이나 변수가 꼭 필수적인 것은 아닙니다. (유동적으로 사용할 수 있습니다! 문제에 어떻게 나올 지 알 수 없어요..) 오른쪽 예제는 해당 구조체 폼을 person1이라는 변수로 바로 만든 것입니다.
지금 printBag의 매개변수는 포인터를 받고 있습니다. ("함수의 입력값이 struct Bag *bag -> Bag라는 애를 가리키고 있는 포인터 변수를 이 함수에서는 bag라는 변수로 쓸거야." 라는 뜻입니다.) 이 경우에는 값이 아니라 주소를 넘겨야합니다. 포인터 변수 앞에 *를 하게 되면 값이 넘어가기 때문에 정상적으로 동작하지 않습니다. bagPtr이 가리키고 있는 주소 그 자체가 넘어가야 정상적으로 동작할 수 있습니다.
함수에 포인터로 넘기는 것은 따로 다뤄서라도 영상을 만들겠습니다.