1. 문자 (Character)
char는 8비트 정수형 처리 변수로 character(문자)의 약자이다. C언어에서는 unsigned와 signed로 모두 선언하여 사용할 수 있으며, 보통 ASCII 코드등을 사용하기 위한 변수로 많이 사용한다.
2. ASCII & ANSI & Unicode
3. 한국어 표현
한글의 처리에서 KS1001 등의 유니코드에서는 16비트 이므로 char 변수에는 값을 치환할 수 없다. char hong = '홍'; 과 같이 쓰면 에러가 발생한다. 한글의 표현을 위해서는 char hong[] = "홍"; 과 같이 문자열로 표현해야하며, "홍"을 위해 2바이트, 스트링의 마지막을 알리는 \0 문자를 위해 3바이트의 배열이 필요하다.
4. 정수로서 표현
char를 그냥 8비트변수로 사용할 수도 있다. char a = 1; 이런식으로 그냥 사용하면 된다. -128~127까지 표현가능하다. unsigned 키워드를 붙이면 0부터 255까지 쓸 수 있다.
5. Int를 문자료 표현
반대로 int에 ASCII코드를 대입하고 %c를 이용해 출력하면 문자형과 똑같이 표현된다. 아래 코드를 보자.
#include<stdio.h>
int main(){
int m = 0x4D;
int a = 0x41;
int n = 0x4E;
int sp = 0x20;
printf("%c%c%c%c%c\n", a, sp, m, a, n);
char mm = 0x4D;
char aa = 0x41;
char nn = 0x4E;
char spp = 0x20;
printf("%c%c%c%c%c\n", aa, spp, mm, aa, nn);
return 0;
}
int로 표현하던 char로 표현하던 같은 결과값 A MAN이 출력된다.
'알고리즘' 카테고리의 다른 글
문자열 알고리즘 (2) - 라빈 카프 (Rabin Karp) 알고리즘 (0) | 2020.02.19 |
---|---|
문자열 알고리즘 (1) - 부르트 포스 (Brute Force, Naive Search) (0) | 2020.02.19 |
단순 자료구조 (4) - 문자열 (String) (0) | 2020.02.18 |
단순 자료구조 (2) - 실수 (Real Number) (0) | 2020.02.18 |
단순 자료구조 (1) - 정수 (Integer) (0) | 2020.02.18 |
자료구조의 분류 (0) | 2020.02.18 |
검색 (5) - 내분 검색 (Interpolation Search) (0) | 2020.02.15 |