티스토리 뷰

문자열은 문자들의 배열이다.

 

string s = "HI!" 라면,

이는 문자의 배열이므로 메모리에 H,I,!,\0 과 같이 저장되고 인덱스로 각 문자에 접근할 수 있다.

\0은 널 종단 문자로 문자열의 끝을 나타낸다. (모든 비트가 0인 1바이트를 의미)

따라서 모든 문자열의 바이트는 실제 바이트보다 +1이 된다.

 

string names[4];

names[0] = "EMMA";
names[1] = "RODRIGO";
names[2] = "BRIAN";
names[3] = "DAVID";

printf("%s\n", names[0]);
printf("%c%c%c%c\n", names[0][0], names[0][1], names[0][2], names[0][3]);

 

위의 %c의 경우 2차원 배열로 문자에 접근이 가능하다.

names[0][1]는 names의 첫 번째 값, 즉 “EMMA”라는 문자열에서, 그 두번째 값, 즉 ‘M’ 이라는 문자를 의미한다.

이 인덱스대로 실제 메모리에 저장된다.

 

 

 

출처 : www.boostcourse.org/cs112

'부스트코스 > 3. 배열' 카테고리의 다른 글

[CS50] 3.7 명령행 인자  (0) 2021.01.23
[CS50] 3.6 문자열과 배열(2)  (0) 2021.01.23
[CS50] 3.4 배열(2)  (0) 2021.01.23
[CS50] 3.3 배열(1)  (0) 2021.01.23
[CS50] 3.2 디버깅  (0) 2021.01.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함