Developer

5.(C언어) 자료형_문자 본문

Programming Language/C

5.(C언어) 자료형_문자

DPhater 2020. 8. 1. 20:24

아스키(ASCII) 코드표

이전에 말했듯이 char형 변수에는 문자에 해당되는 정수값이 저장되는 것이다.

대문자 A가 65 소문자 a가 97 이 두 가지는 알아두면 나중에 편하게 사용할 수 있다. char형 변수에 값을 문자를 저장할 때에는 65처럼 정수형으로 저장을 해도 되지만 'A' 처럼 작은따옴표로 문자 형식으로 직접 저장할 수 있다.

#include<stdio.h>
int main(){
	char input1='a';
	char input2=97;
	printf("%c  %d \n",input1,input2);
	printf("%c  %d \n",input1,input2);
    return 0;
}

코드1 실행 결과

char형 변수 input1은 작은따옴표로 묶은 문자 a, char형 변수 input2는 정수 97을 저장하였다. 그런 후에 각각 %c(문자 서식지정자)와 %d(정수 서식지정자)를 사용해 출력해보았다. %c로 출력할 경우 문자가 나오는 것을 볼 수 있고 %d로 출력할 경우 해당 문자의 ASCII코드 값이 나오는 것을 확인할 수 있다. 작은따옴표로 묶인것은 문자를 나타내고 작은따옴표가 없이 정수만 작성한거는 ASCII코드를 나타내는 것이다.

따라서 input1='0' ; input2=0;

이렇게 저장한 후 출력해보면 input1은 문자 0을 저장했기 때문에 0 48이 출력되고, input2의 경우에는 공백과 0이 출력된다. ASCII코드0은 NULL이라는 아무것도 들어있지 않은 상태를 뜻하기 때문이다.

앞에서 대문자 'A'가 65라는 것과 소문자 'a'가 97이라는 것만 기억하면 편하다고 했는데 이는 문자로 연산이 가능하기 때문이다.

#include<stdio.h>
int main(){
	char input1='a';
	char input2=input1+1;
	printf("%c  %c",input1,input2);
	return 0;
}

코드2 실행 결과

input1에는 문자'a'를 저장하였고, input2에는 input1+1이라는 값을 저장하였다. 따라서 input2에는 'a'+1이라는 값이 저장된 것인데 이는 97+1이며 ASCII코드 98에 해당하는 문자는 b이므로 b가 출력되는 것을 확인할 수 있다.

Comments