35.0 문자열 사용하기
C 언어에서는 문자 자료형인 char는 있지만 문자열을 저장하는 자료형은 없습니다. 그래서 다음과 같이 char에 문자열을 저장하면 컴파일은 되지만 실행이 안 됩니다.
#include <stdio.h> int main() { char s1 = "Hello"; // "Hello"는 문자열, 문자열은 " "로 둘러쌈 printf("%s", s1); // 실행 에러 return 0; }
컴파일을 한 뒤 디버그 모드(디버그(D) > 디버깅 시작(S), F5)로 실행을 해보면 다음과 같이 에러가 발생합니다(에러 메시지는 운영체제, 개발툴마다 다릅니다).
실행 결과
0xC0000005: 0x00000058 위치를 읽는 동안 액세스 위반이 발생했습니다.
이 에러는 사용할 수 없는 메모리 주소에 접근했을 때 발생합니다. 예를 들면 집 주소를 보고 찾아갔는데 건물이 없는 상황과 비슷합니다.
이제 올바른 문자열 사용 방법을 알아보겠습니다.