ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [메모리] 문자열
    Stage/Computer Science 2021. 5. 31. 23:15

    학습 목표

    문자열 형태의 새로운 자료형인 string이 어떻게 정의되었는지 설명할 수 있다.

    1. string의 비밀

    우리는 여태껏 수업을 들으면서 문자열을 저장할 때 CS50 라이브러리에 포함된 string 자료형을 사용했다.

    string s = “EMMA”;
    • 문자열은 결국엔 문자의 배열이다.
    • s[0], s[1], s[2]... 이렇게 인덱스 하나로 문자 하나를 나타낸다.
    • 사실 변수 s는 이런 문자열을 가리키는 포인터가 된다. 더 자세히 말하자면 문자열 중에서 첫번째 문자, 즉 주소 0x123에 있는 s[0]을 가리킨다.



    2. CS50 라이브러리 확인해보기

    실제 CS50 라이브러리에 가서 확인해보면 string 자료형은 이렇게 나와있다.

    typedef char *string
    • 이 부분만 보면 이해가 잘 안갈 수 있으니 밑에 나와있는 두 코드를 비교해보자.

    2.1 string 자료형을 이용하여 "EMMA" 출력

    #include <cs50.h>
    #include <stdio.h>
    
    int main(void)
    {
        string s = "EMMA";
        printf("%s\n", s);
    }

    2.2 char 포인터를 이용하여 "EMMA" 출력

    #include <stdio.h>
    
    int main(void)
    {
        char *s = "EMMA";
        printf("%s\n", s);
    }




    'Stage > Computer Science' 카테고리의 다른 글

    [메모리] 문자열 복사  (0) 2021.05.31
    [메모리] 문자열 비교  (0) 2021.05.31
    [메모리] 포인터  (0) 2021.05.31
    [메모리] 메모리 주소  (0) 2021.05.31
    [알고리즘] 병합 정렬  (0) 2021.05.29

    댓글