그 놀라운 이야기들...

살아 숨쉬는 코드들을 만들어 봅니다. 조심하세요. 날아갈 수도 있으니...

삶이 어떻게 더... 완벽해~
반응형

C언어문자열 2

[C언어:초급-013] 문자열 조작

앞서 ‘배열과 포인터’ 편에서 우리는 문자열이 char 타입의 배열임을 알았다. 여기서는 그 특성을 이용해 문자열을 조작하는 방법에 대해서 좀 더 깊이 들어가고자 한다. C는 Low Level 언어이다 보니 거의 모든 것들을 직접 구현해 주어야 한다. 문자열 조작에 관해서도 직접 개발자가 메모리를 조작하는 기분으로 문자열을 다룬다 생각하자. 1. 메모리 확보 문자열을 다루기 위해서는 우선 충분한 메모리를 확보하고 그 메모리 안에서 문자열들을 읽고 쓰는 작업을 해야한다. 만약에 확보된 메모리를 벗어난 곳에 문자열을 읽거나 쓰려고 했다가는 프로그램이 폭팔해 버릴 수도 있으니 주의하자. 문자열 작업을 위한 메모리 확보 방법은 간단다. char 타입 배열을 사용하면된다. char buf[1024]; // 102..

[C언어:초급-011] 문자열

1. 문자열 타입? 많은 분들이 의아해 할지 모르지만, C 에는 문자열 타입이란 없다. C 에서 타입이라고 하면 정수, 실수, 포인터, 구조체 정도만 있을 뿐이다. 그럼 문자열은 어떻게 처리를 해야할까? 그 방법을 알아보도록 하자. 2. 문자열 구조 우리는 상수 강좌에서 문자열 상수의 표현법을 배웠었다. 그러나 실질적으로 사용되는 문자열의 메모리 구조는 다음과 같다. "Hello" => [H] [e] [l] [l] [o] [0] // 마지막 숫자 ‘0’은 문자열의 끝을 알려주는 표시. 문자열 종결자. 그러므로 어떤 문자열을 사용하기 위해서는 메모리 상에 그 ‘문자열의 길이’ + 1 개의 바이트 더 필요하다. 만약에 마지막 바이트에 ‘0’ 숫자가 없다면 컴퓨터는 문자열이 다음의 ‘0’ 숫자가 나올 때까지 ..