암시적 형 변환(Implicit Type Conversion)이란 컴파일러가 작은 데이터 타입을 더 큰 데이터 타입으로 자동으로 변환하는 것을 말합니다.
예를 들어, 대문자 'A'의 ASCII 값은 65입니다.
이 프로그램에서는 문자 'A'를 입력값으로 사용하고, 이를 해당 ASCII 값인 65로 변환하는 코드를 작성해 보겠습니다.
예제 1: 문자 'A'의 ASCII 값 구하기
다음은 암시적 형 변환을 사용하여 대문자 'A'의 ASCII 값을 찾는 예제입니다.
#include<stdio.h>
int main(){
char character = 'A';
int number = 0, value;
value = character + number; //암시적 형 변환
printf("The ASCII value of A is: %d\n",value);
return 0;
}실행 결과
문자 'A'의 ASCII 값은 65입니다. C 언어에서 형 변환이 일어나면 컴파일러가 char 데이터 타입의 문자를 자동으로 int 데이터 타입으로 변환하므로, 수식(value = character + number)은 65 + 0 = 65가 됩니다.
따라서 출력 결과는 65입니다.
The ASCII value of A is: 65
예제 2: 다른 문자 'P'의 ASCII 값 구하기
이번에는 다른 문자를 사용하여 같은 방식으로 ASCII 값을 확인해 보겠습니다.
#include<stdio.h>
int main(){
char character = 'P';
int number = 0, value;
value = character + number; //암시적 형 변환
printf("The ASCII value of P is: %d\n",value);
return 0;
}실행 결과
문자 'P'의 ASCII 값은 80입니다. 마찬가지로 컴파일러가 char 타입의 문자를 int 타입으로 자동 변환하기 때문에, 수식(value = character + number)은 80 + 0 = 80이 됩니다.
따라서 출력 결과는 80입니다.
The ASCII value of P is: 80
정리
C 언어에서는 char 타입과 int 타입을 함께 연산할 때 컴파일러가 자동으로 형 변환을 수행합니다. 이러한 암시적 형 변환 특성을 활용하면 별도의 라이브러리 함수 없이도 간단하게 문자의 ASCII 값을 알아낼 수 있습니다.