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

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

dbgud85님의 프로필 이미지

작성한 질문수

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

구조체

구조체 기초질문

해결된 질문

작성

·

89

0

2:41초 부분 질문드립니다.

구조체에서

퍼슨1.네임 = 퍼슨(위켄코드)을 복사한다고 설명하시는데

 

맨위에 스트럭트 구조체 char name[50] 여기에 들어간다는 말씀인가요?

 

그리고... for문에서 사이즈 오브로 크기를 잰다음 복사하는거 같은데 한자한자씩 들어가는건가요?

답변 2

0

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

네 맞습니다. person1.name은 50바이트의 크기를 가진 문자 배열입니다.

거기에 들어가는 것이 맞습니다.

 

for문에서도 배열의 인덱스로 접근해서 1글자씩 가져와서 넣고, 그 다음 인덱스에 넣고.. 한 글자씩 다 넣는 것입니다.

0

인프런 AI 인턴님의 프로필 이미지

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

구조체 내에서 문자열 복사와 관련된 질문을 하셨군요. 해당 과정에 대한 이해를 돕기 위해 구조체와 배열을 사용하는 방법에 대해 간단히 설명드리겠습니다.

구조체 내 문자열 복사

구조체 Personchar name[50];와 같은 문자열 배열을 선언한 경우, 이 배열은 최대 50개의 문자(한글자의 경우 총 49자 + NULL 문자)를 저장할 수 있는 공간을 의미합니다.

문자열 복사

퍼슨1.네임 = 퍼슨(위켄코드)와 같은 코드는 실제 코드에서는 strcpy 함수를 사용하거나 반복문을 통해 한 문자씩 배열에 복사하는 방식으로 구현됩니다. 즉, for문을 사용하여 문자열의 길이(sizeof)만큼 반복되며, 각 문자를 배열의 개별 인덱스에 저장하는 형식입니다.

며칠 전에 질문하신 내용과 유사한 질문에 대한 답변입니다. 다음 링크를 통해 C 언어의 배열 및 문자열 관련 예제와 설명을 찾아보실 수 있습니다:
- 섹션2 구조체 질문: 여기서는 구조체 내에서 문자열을 하나씩 배열에 복사하고 null 문자를 추가하는 방법에 대해 깊이 있는 토론이 이루어집니다.
- 18번 typedef 키워드 질문: 구조체와 typedef의 사용법에 대한 이해를 돕는 설명이 포함되어 있으며, 이는 구조체와 배열 사용에 대한 다른 측면을 이해하는 데 도움이 될 것입니다.

이 자료들을 통해 의문사항을 보다 쉽게 해결하실 수 있기를 바랍니다.

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

dbgud85님의 프로필 이미지

작성한 질문수

질문하기