-
[메모리] 문자열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