문자열
-
[메모리] 문자열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 이 부분만 보면 이해가 잘 ..
-
[배열] 문자열의 활용Stage/Computer Science 2021. 5. 27. 23:04
학습목표 문자열을 탐색하고 일부 문자를 수정하는 코드를 구현할 수 있다.1. 문자열 탐색 사용자로부터 문자열을 입력받아 한 글자씩 출력하는 코드를 짜야 한다면 간단하게 for문을 이용해 문자열의 인덱스를 1씩 증가시켜나가면 된다. 1.1 문자열이 끝나는 인덱스는 어떻게 알 수 있을까? 해당 인덱스의 문자가 null 종단 문자와 일치하는지 검사하면 된다. for (int i = 0; s[i] != ‘\0’; i++) { ... } strlen() 함수를 사용하면 된다. #include #include #include int main(void) { string s = get_string("Input: "); printf("Output:\n"); for (int i = 0, n = strlen(s); i < ..
-
[배열] 문자열과 배열Stage/Computer Science 2021. 5. 27. 22:50
학습목표 문자열이 C에서 정의되는 방식과 메모리에 저장되는 방식을 설명할 수 있다. 1. 문자열? 문자열(string) 자료형의 데이터는 문자(char) 자료형의 데이터들의 배열이다. string s = "HI!"; 문자열 s는 문자의 배열이기 때문에 메모리상에 아래의 그림과 같이 저장된다. 인덱스로 각 문자에 접근이 가능하다. s[0] = H s[1] = I s[2] = ! s[3] = \0 3번째 인덱스의 '\0' 은 문자열의 끝을 나타내는 null 종단 문자이다.
-
[C언어] 문자열Stage/Computer Science 2021. 5. 26. 19:23
학습목표 C로 문자열 형식을 가진 변수를 선언하고 출력하는 프로그램을 만들 수 있다. 1. 문자열 입력받기 string answer = get_string("What's your name?\n"); 1.1 타입 명시 사용자의 이름을 받아서 저장할 변수를 answer 라고 지정한다. (변수명은 마음대로 정해도 된다.) 중요한 점은 데이터 타입을 정확하게 명시해 줘야 한다는 것이다. 문자열을 저장할 것이기 때문에 string 이라고 타입을 명시해준다. 여기서 string 을 형식 지정자 라고 한다. 1.2 '=' 우리는 '='을 '같다'라고 해석한다. 하지만 프로그래밍 언어에서 '='은 '='을 기준으로 오른쪽에 있는 것을 왼쪽에 지정한다는 의미로 해석해야 한다. 이를 할당 연산자 라고 한다. get_str..