문자 :
char a; // 단일의 문자 선언 가능
» 입, 출력 시 %c를 사용함
문자열 :
» 문자의 배열로 선언함
-- 예) char a[10];
» 포인터 변수로 선언함
-- 예) char *a;
» 문자열의 마지막 문자는 언제나 NULL임
» NULL의 아스키 코드 값은 ‘\0’이며, NULL 대신 ‘\0‘으로도 나타냄
» 문자열의 끝은 항상 NULL이므로 문자형 배열 선언시 나타내고자 하는 문자열보다 크기를
하나 크게 함
» 문자열 출력 시 NULL문자를 만나기 전까지 출력
» 입, 출력 시 %s를 사용함
< 포인터를 통한 문자열 접근 오류 예시 >
#include <stdio.h>
int main() {
char *tmp = "Hello";
tmp[1] = P; // error가 출력된다. 포인터 변수를 통한 문자열 검색 및 대입, 변경은 불가능하다
...
};
< 문자 배열 초기화 오류 예시 >
< 첫번째 예시 >
#include <stdio.h>
int main() {
char tmp[10] ;
tmp = "hello"; // 오류. 이미 선언된 배열에 문자열 초기화 불가능. 배열 선언 즉시 문자열 초기화하여야 함.
// 혹은 이미 선언된 배열의 각 인덱스를 통하여 문자 하나하나 입력 가능
... };
< 두번째 예시 >
char a[3] = "abc" // error. 문자열 마지막값 NULL값이 추가되어 총 4바이트가 필요한데 선언은 3byte이다. a[4]로 선언 필요.
--- 띄어쓰기 불가능
-- spacebar 허용