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

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

myppy2628님의 프로필 이미지
myppy2628

작성한 질문수

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

구조체

구조체에서 .(점) 이용하는 부분이 잘 이해가 가지 않습니다.

해결된 질문

작성

·

26

0

구조체가 선언된 이후에 접근할때 .(점)을 이용하는 부분이 잘 이해가 가지 않아서요.

처음에 strcut를 사용해서 구조체를 선언하고 main에서 정의한 구조체를 다시 한번 이용하여 직접 값을 받는건가요??

답변 2

0

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

네, 맞습니다.

질문 주실 때 해당 영상에서 몇 분 몇 초가 헷갈리시는지 함께 얘기해주시면 제가 답변드릴 때 참고할 수 있어서 좋습니다.

 

구조체는 "뭉텅이 데이터"를 정의한다고 생각하시면 됩니다.

 

예를 들어 사람의 얼굴을 데이터로 정의한다고 가정하면

눈의 개수, 코의 개수, 입, 치아의 개수 등 여러 개의 데이터를 하나의 변수로 만들고 그것에 접근해야 합니다.

구조체 그 자체는 사람의 얼굴이고, 개별 변수는 눈/코/입 이런 것들입니다.

 

C언어에서는 구조체 내의 변수에 접근할 때 .(점)을 활용합니다.

그래서 접근할 때는 뭉텅이데이터.개별변수 이렇게 접근한다고 외우시면 됩니다.

0

안녕하세요, 인프런 AI 인턴입니다. myppy2628님.

구조체에서의 접근 방식이 혼란스러우신 것 같습니다. 구조체 내의 멤버에 접근하는 데는 .(점) 연산자를 사용합니다. 이는 구조체 변수에서 멤버에 직접 접근할 때 사용하는 방법입니다.

구조체의 선언과 접근

  1. 구조체 선언: struct를 사용하여 구조체를 정의합니다. 예를 들어:

    struct Car {
       int year;
       char model[50];
    };
    
  2. 구조체 변수 선언: 이후, main 함수 등에서 해당 구조체의 변수를 선언하고 사용할 수 있습니다.

    struct Car myCar;
    
  3. 구조체 멤버 접근: 선언된 구조체 변수의 멤버에 접근하기 위해 . 점 연산자를 사용합니다.

    myCar.year = 2020;
    

    이는 myCar라는 구조체 변수에서 year라는 멤버에 접근하여 값을 할당하는 과정입니다.

위 예제에서, myCar는 구조체 Car의 변수이며, . 점 연산자를 통해 yearmodel 같은 멤버에 접근할 수 있습니다.

관련하여 도움이 될 수 있는 질문과 답변을 직접 확인하시길 추천드리며, 아래 유사한 질문과 답변을 참고하세요:

  • 구조체 기본 형태: 이 링크에서는 구조체의 선언과 typedef를 사용하는 방법에 대한 질문이 다뤄집니다. 구조체의 선언 및 사용을 좀 더 명확히 이해하는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드립니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

myppy2628님의 프로필 이미지
myppy2628

작성한 질문수

질문하기