C/기초

자료형 (char, int && 8진수, 10진수, 16진수)

컴공 윤서혜 학습일기 2019. 7. 23. 16:11

우리에게 보여지는것은 글자 하나지만, 실질적으로는 char도 숫자로 구성되어있다.

 

 

#include <stdio.h>

int main(void)
{
	char x = 65;
	printf("%c",x);
	return 0;
}

이렇게 하면 출력값은 숫자가 아니라 a로 나오게 된다. 왜냐하면 내부적으로 65는 a라는 뜻을 가지고 있기 때문이다. 즉 아스키코드이기 때문이다.

 

 

 

#include <stdio.h>

int main(void)
{
	int x = 65;
	printf("%c",x);
	return 0;
}

놀랍게도 int형으로 명령을 해도 a라고 출력이 된다!

 

 

 

 

그리고 char에서 int형으로 출력하는것도 가능하다.

#include <stdio.h>

int main(void)
{
	int x = 65;
	printf("%c \n",x);
	char y = 65;
	printf("%c \n", y);
	char z = 'B';
	printf("%d \n", z);
	return 0;
}

맨 밑에 있는 char z는 66으로 출력이 될 것이다.

 

 

 

 

다양한 숫자의 형태로 출력하는 방법도 있다.

#include <stdio.h>

int main(void)
{
	int x = 100;
	printf("10진수로 출력 : %d \n",x);
	printf("8진수로 출력 : %o \n", x);
	printf("16진수로 출력 : %x \n", x);
	return 0;
}

'C > 기초' 카테고리의 다른 글

반복문  (0) 2019.07.25
JAVA와 C언어의 차이점  (0) 2019.07.25
오버플로우  (0) 2019.07.10
메모리크기 알려주기(sizeof(x))  (0) 2019.07.10
C++ 기본내용  (0) 2019.07.10