인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

yys 125님의 프로필 이미지
yys 125

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

함수와 재귀함수 (v2)

C언어 구조체 강의 관련입니다.

해결된 질문

작성

·

141

0

  1. 1분 52초 화면 오른쪽 회색 네모칸의 첫줄에서

    struct {가 struct Person{ 이어야 하는게 아닌지 궁금합니다.

  2. 8분 12초 화면 왼쪽 회색 네모칸의 하늘색 글씨 첫줄부분에 (struct Bag *bag)이 (struct Bag *bagPtr)이어야 하는게 아닌지 궁금합니다.

답변 1

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

  1. 저렇게 작성해도 정상적으로 동작합니다. struct 바로 뒤에 꼭 구조체명을 쓸 필요는 없습니다. 구조체 이름이나 변수가 꼭 필수적인 것은 아닙니다. (유동적으로 사용할 수 있습니다! 문제에 어떻게 나올 지 알 수 없어요..) 오른쪽 예제는 해당 구조체 폼을 person1이라는 변수로 바로 만든 것입니다.

 

  1. 지금 printBag의 매개변수는 포인터를 받고 있습니다. ("함수의 입력값이 struct Bag *bag -> Bag라는 애를 가리키고 있는 포인터 변수를 이 함수에서는 bag라는 변수로 쓸거야." 라는 뜻입니다.) 이 경우에는 값이 아니라 주소를 넘겨야합니다. 포인터 변수 앞에 *를 하게 되면 값이 넘어가기 때문에 정상적으로 동작하지 않습니다. bagPtr이 가리키고 있는 주소 그 자체가 넘어가야 정상적으로 동작할 수 있습니다.

함수에 포인터로 넘기는 것은 따로 다뤄서라도 영상을 만들겠습니다.

yys 125님의 프로필 이미지
yys 125

작성한 질문수

질문하기