본문 바로가기
Ghost의 C Note(노트)/Ghost의 C언어 문자배열

Ghost 문자를 깨우치다?... $_$ㅇ

by dark ghost 2012. 4. 23.
728x90
반응형

문자열이란?

: 문자열은 하나 이상의 연속된 문자를 말하며, 다음과 같이 큰 따옴표(" ")로써 표시 한다.

   "This is a string."

문자 상수를 작은 따옴표로 나타내듯이 문자열은 큰 따옴표로 나타내며, 이때 큰 따옴표 자체는 문자열에 속하지 않는다. 메모리에 저장된 모습은 아래와 같다.

1. 위 그림에서 하나의 셀은 1 바이트에 해당하며 한 문자를 저장하고 맨 마지막 셀은 '\0' 문자(NULL 문자: 아스키 코드 0x00)로 프로그램에서 사용자가 넣는 것이 아니라 C언어 컴파일러가 자동적으로 넣어준다. 모든 문자열은 항상 맨 마지막에 NULL문자로 끝나고 이 때문에 문자열의 길이는 텍스트상의 문자의 수 보다 1이 많다.

 

 2. 위 그림은 문자 배열을 선언 하여 출력하는 프로그램으로 자료형은 char로 character형이고 word는 배열명이다. 그리고 [30]은 30의 크기 만큼 메모리에 할당 한다고 선언 한것이다.

 

3. 위 그림은 실행 파일을 실행 시킨 화면으로 입력란에 Hello World라고 입력을 넣었지만 출력은 Hello만 출력 된 것을 확인 할 수있는데 이유는 scanf에서 띄어쓰기 이후 부터는 다른 줄이라고 생각 하고 잘라버린다.

 

4. 위 그림은 입력을 달리하여 다른 출력값이 나온 것을 비교한 화면이다. 보면 알 수있듯이 띄워 썼을때는 Hello까지만 출력을 하는데 붙여 입력을 넣었을 때는 보시다시피 HelloWorld가 다 출력 된 것을 볼 수 있다.

728x90
반응형

댓글