본문 바로가기
홀로의 책방/코딩을 공부하자(C언어)

chapter 2 자료형 그리고 입출력

by 알 수 없는 사용자 2020. 1. 6.

1. 자료형

 자료형은 자료의 종류를 말한다.

 변수는 자료형에 따라 저장공간 이랑 종류가 결정된다.

 

정수 자료형- int, short, long 

1바이트 = 8비트이다. unsigned에서 보면 2^n비트 인걸 확인할 수 있다.

음수 지원 여부 키워드 크기 표현범위

부호가 있는 정수형 signed

음수 지원 가능

signed short 2바이트 (-2^15) ~ (2^15)-1
signed int 4바이트 -2^31 ~ (2^31)-1
signed long 4바이트 -2^31 ~ (2^31)-1

부호가 없는 정수형 unsigned

음수 지원 불가

signed short 2바이트 0~(2^16)-1
signed int 4바이트 0~(2^32)-1
signed long 4바이트 0~(2^32)-1

2. 부동소수 자료형

float은 4바이트로 숫자 뒤에 f나 F를 붙인다. 표현 범위는 1.175494351e-38F ~3.402823466e+38F

double과 long double은 8바이트로  표현범위는 2.22507385850725014 e-308 ~ 1.7976931348623158e+308이다.

long double은 숫자 뒤에 L을 붙여야 한다.

 

그럼 출력할 때 제어 문자열을 % f 써야 한다.

 

부동소수 자료형은 소수 6자리까지 표현을 한다.

 

3. 문자 자료형

자료형 크기 표현범위
char 1바이트 -128 ~ 127(문자는 0에서127까지)
signed char 1바이트 -128 ~ 127
unsigned char 1바이트 0 ~255

문자는 자료 공간에 저장되는 값은 실제로 정수 값인데 아스키코드표를 참고해보면 문자를 2진수부터 16진수까지 표현한 걸 볼 수 있다.

문자 자료형은 제어 문자열을 % d 쓴다.

https://ko.wikipedia.org/wiki/ASCII

 

ASCII - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 1972 프린터 사용 설명서에 개시된 아스키 코드 차트표 미국정보교환표준부호(영어: American Standard Code for Information Interchange), 또는 줄여서 ASCII( , 아스키)는 영문 알파벳을 사용하는 대표적인 문자 인코딩이다. 아스키는 컴퓨터와 통신 장비를 비롯한 문자를 사용하는 많은 장치에서 사용되며, 대부분의 문자 인코딩이 아스키에 기초를 두고 있다. 아스키는 7비트 인코딩으로

ko.wikipedia.org

 

4. 자료형의 크기

자료형은 모두 12가지이고, 중복되는 자료형을 빼면 8가지이다.

연산자 sizeof를 이용하면 자료형, 변수, 상수의 저장공간 크기를 바이트 단위로 직접 알 수 있다.

5. 자료형의 최대 최소 상수

max와 min을 이용해 자료형의 최대 최소 상수를 출력할 수 있다.

헤더 파일 2개를 삽입해야 한다.

 

#include <limits.h> 문자형, 정수형 상수가 정의된 헤더 파일이다.

#include <float.h> 부동소수형 상수가 정의된 헤더 파일이다.

 

 

6. 오버플로와 언더 플로

자료형의 범주에서 벗어난 값을 저장하면 오브 플로(overflow)가 발생한다.

범위 이상의 숫자를 입력하면 제일 낮은 숫자부터 다시 시작한다. 정수의 순환이 일어난다. 

자료형 short는 -32768에서 32767R까지 저장이 가능한다. 32768을 저장하면 오버플로가 발생하여 -32768이 된다.

 

float과 double에서도 오버플로 언더 플로가 발생하는데 오버플로가 발생하면 무한대를 뜻하는 1.#INF가 저장되고

언더 플로는 0이 저장된다. 

댓글