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

pycandyq님의 프로필 이미지
pycandyq

작성한 질문수

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

데이터 형태와 참/거짓

C언어 문자열 할당방식 관련 질문

해결된 질문

작성

·

25

0

강사님 안녕하세요.

강의 2분 34초에 나오는

"문자 배열로 할당"부분 질문있습니다.

 

저렇게 할당하면 배열이 아니라 문자라는건가요?

str3[0]처럼 접근할수 있는지도 여쭤보고 싶습니다.

 

감사합니다

 

답변 2

0

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

포인터로 할당했을 때, 배열로 할당했을 때 둘 다 인덱스로 접근 가능합니다.

 

예제 드립니다.

#include <stdio.h>

int main() {
    // 문자열 선언
    char *str = "Hello, World!";
    char str2[] = "My name is weekendcode";

    // 배열 인덱스를 이용해 각 문자에 접근
    for (int i = 0; str[i] != '\0'; i++) {
        printf("%c ", str[i]);
    }
    
    for (int i = 0; str2[i] != '\0'; i++) {
        printf("%c ", str2[i]);
    }
    

    return 0;
}

출력값:

H e l l o ,   W o r l d ! M y   n a m e   i s   w e e k e n d c o d e 

 

정상적으로 동작됩니다.

0

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

C언어에서 문자열을 사용할 때 문자 배열로 할당하는 것이 무엇인지에 대해 궁금하신 것 같습니다. 이와 관련된 설명과 함께 유사한 질문 및 답변을 찾았습니다.

문자 배열로 할당

C언어에서 문자열은 문자 배열을 사용하여 할당합니다. 예를 들어, char str3[] = "Hello";와 같이 사용하면 str3는 문자들이 나열된 배열로 할당됩니다. 즉, ‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ‘\0’로 이루어진 문자 배열입니다.

배열 접근

배열은 인덱스를 통해 각 요소에 접근할 수 있으며, str3[0]처럼 접근하면 배열의 첫 번째 문자 ‘H’에 접근하게 됩니다. 따라서, str3는 배열로 취급되어 인덱스를 통해 각 문자를 개별적으로 다룰 수 있습니다.

참고 게시물

비슷한 질문과 답변을 확인하시려면 아래 게시물을 참조해 주세요:

  • C언어 배열과 문자열 강의 관련 질문: 이 질문에서는 C언어에서 문자열을 다루는 방법과 포인터 사용시 주의할 점에 대해 다룹니다. 배열의 인덱스를 통해 개별 문자에 접근하는 방법에 대한 설명이 있습니다.

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

pycandyq님의 프로필 이미지
pycandyq

작성한 질문수

질문하기