강의

멘토링

로드맵

Inflearn brand logo image

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

iwinners님의 프로필 이미지
iwinners

작성한 질문수

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

구조체

구조체 5: 37 name, model 등은 for 문이나 strcpy를 항상 사용해야 하나요?

해결된 질문

작성

·

70

0

year나 price 등은 그냥 숫자를 적었는데, model은 strcpy를 사용하고, 앞의 예제에 있는 name은 for문을 사용하여 나타내고 있는데, 문자를 읽어오는 방법은 이렇게 하는 것인가요?

답변 2

0

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

아닙니다.

반복문으로 한 글자씩 돌면서 할당하셔도 됩니다.

strcpy는 <string.h>를 include하면 사용할 수 있는 내장함수 같은 것입니다.

C언어에서 제공해주는 편리한 기능이죠. 반복문으로 하나씩 돌면서 복사하지 말라고 한 번에 기능을 제공해주는 것입니다.

 

문자를 복사하는 것을 땅을 파는 것으로 비유한다면

삽으로 땅을 파든, 포크레인으로 파든 상관없습니다.

어떻게든 파면 되니까요.

 

다만, 가끔씩 이런 함수들이 시험에 나오기 때문에 제가 2가지 방법 모두를 보여드린 것 뿐입니다.

시험장에 가서 처음보면 당황하고 모르실 수 있으니까요.

0

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

질문하신 구조체 내에서 문자열과 숫자를 처리하는 방법에 대해 설명드리겠습니다. 숫자형 데이터는 단순히 변수에 값을 할당하면 되지만, 문자열(문자 배열)은 C언어의 특성상 다르게 처리해야 합니다.

문자열 할당 방법

  1. strcpy 사용: 문자열을 간단히 복사할 때는 strcpy(destination, source); 형식으로 사용합니다. 이는 쉽게 다른 문자열을 복사할 수 있게 도와줍니다.
  2. for문 사용: 문자열을 하나의 문자씩 접근하여 원하는 배열에 저장하고 싶을 때 사용합니다. for문을 통해 문자열을 문자 단위로 처리하며, 끝에 '\0' (널 문자를) 추가하여 문자열의 끝을 표시합니다.

관련된 URL 및 질문

  • 섹션2 구조체 질문: 이 게시물에서는 문자열을 구조체에 할당하고 종료 문자를 추가하는 방법에 대해 토론합니다. 반복문을 통해 문자열을 배열에 할당하는 구체적인 예시가 포함되어 있습니다.
  • 구조체 강의 4:31 질문있습니다: 여기서는 문자열의 끝을 표시하기 위한 '\0' 문자의 중요성에 대해 설명하며, for문과 strcpy 사용을 비교합니다.

이 자료들이 iwinners님의 질문에 대한 이해를 도울 수 있을 것입니다.

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

iwinners님의 프로필 이미지
iwinners

작성한 질문수

질문하기