본문 바로가기
XR개발/C언어

C언어의 자료형과 변수

by 오머리쿠_OmaryKoo 2025. 1. 19.
C 언어에서 데이터를 저장하는 방법은 매우 중요하다. 데이터를 저장하는 기본 단위는 변수(variable)이며, 변수는 다양한 자료형(data type)을 가질 수 있다. 이번 포스팅에서는 정수형, 부동소수점형, 문자형을 중심으로 자료형과 변수의 개념을 정리해보겠다.

1. 정수형 (Integer Type)

정수형은 소수점이 없는 숫자를 저장하는 자료형이다. C 언어에서는 정수의 크기와 범위에 따라 여러 가지 정수형이 제공된다.
 

정수형의 종류와 크기

정수형은 시스템의 아키텍처(예: 32비트, 64비트)에 따라 크기와 범위가 다를 수 있다. 일반적으로 int는 CPU의 기본 워드 크기를 따라가며, long과 long long은 더 큰 범위를 다룰 수 있도록 설계되어 있다.
자료형
크기(비트)
범위
short
16비트
-32,768 ~ 32,767
int
32비트
-2,147,483,648 ~ 2,147,483,647
long
32비트
-2,147,483,648 ~ 2,147,483,647
long long
64비트
-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
 

Unsigned 정수형

C 언어에서는 정수형 앞에 unsigned 키워드를 붙이면 음수를 제외하고 양수만 저장할 수 있으며, 표현할 수 있는 숫자의 범위가 두 배로 증가한다.
이미지출처_https://www.javatpoint.com/unsigned-int-in-c

 

오버플로우와 언더플로우

정수형 변수에 저장할 수 있는 값의 범위를 초과하면 오버플로우(overflow)가 발생하고, 너무 작은 값이 저장되면 언더플로우(underflow)가 발생한다. 이는 프로그램의 예측 불가능한 동작을 유발할 수 있기 때문에 주의해야 한다.

2. 부동소수점형 (Floating-Point Type)

부동소수점형은 실수를 저장하는 자료형으로, 정밀한 계산이 필요한 경우 사용된다. 소수점을 포함한 값을 처리할 수 있으며, 과학 및 공학 계산에서 필수적으로 사용된다.

 

 

부동소수점형의 종류

부동소수점형은 저장 공간과 정밀도에 따라 다르게 사용된다. float는 메모리를 절약할 수 있지만 정밀도가 낮고, double과 long double은 더 높은 정밀도를 제공한다.
자료형
크기(비트)
표현 범위
float
32비트
±3.4 × 10^38
double
64비트
±1.7 × 10^308
long double
64비트 이상
구현에 따라 다름
 

부동소수점 연산의 부정확성

컴퓨터에서 부동소수점은 이진법으로 저장되기 때문에, 일부 실수는 정확하게 표현되지 않는다. 따라서 연산 시 미세한 오차가 발생할 수 있으며, 금융 및 과학 계산에서는 이를 고려해야 한다.

 

 


3. 문자형 (Character Type)

문자를 저장하는 자료형은 char이며, 한 개의 문자를 저장할 수 있다. 문자형 변수는 아스키 코드(ASCII Code)를 사용하여 숫자로 변환될 수도 있다.
이미지출처_ ASCII Table: Printable Reference & Guide - αlphαrithms

문자와 아스키 코드

C 언어에서는 문자를 저장할 때 아스키 코드값으로 저장된다. 이를 통해 문자와 숫자를 변환하는 것이 가능하다.
 

문자 상수와 문자 변수

문자는 작은따옴표(' ')로 감싸서 표현하며, 아스키 코드 값을 직접 사용할 수도 있다.

 

 

제어 문자(Escape Character)

제어 문자는 화면 출력 시 특정 동작을 수행하는 문자이다.
제어 문자
의미
\n
줄 바꿈 (newline)
\t
탭(tab)
\b
백스페이스 (backspace)
\r
캐리지 리턴 (carriage return)
예제

 


 

 

01_Q&A C언어에서 \n에 대한 물음.zip

Q1. c언어에서 왜 마지막에만 \n을 해야 하는가? 마지막에만 \n을 사용해야 하는 이유는 콘솔 출력의 형식과 사용자 경험에 관련이 있다.콘솔 출력의 가독성:  \n을 마지막 출력에 추가하는 이유는

omarykoo.tistory.com

 

특수 문자 출력

문자열 안에서 큰따옴표나 백슬래시(\)를 출력하려면 이스케이프 문자를 사용해야 한다.


<용어풀이>

· 정수형: 소수점 없는 숫자를 저장하며, int, short, long 등이 있다.

 

· 부동소수점형: 실수를 저장하며, float, double, long double이 있다.

 

· 문자형: char로 선언하며, 문자는 아스키 코드로 저장된다.

 

· 오버플로우/언더플로우: 저장 가능한 범위를 초과하면 오류가 발생한다.

 

· 부동소수점 연산: 일부 실수는 정확하게 표현되지 않으므로 주의해야 한다.

 

· 이스케이프 문자: 특수 문자를 출력할 때 사용한다.


<출  처>

 

ASCII Table: Printable Reference & Guide - αlphαrithms

ASCII Table The American Standard Code for Information Interchange (ASCII) is a means of encoding characters for digital communications. It was originally developed in the early 1960s as early networked communications were being developed. A 1969 RFC20 out

www.alpharithms.com

 

 

Unsigned int in C - javatpoint

Unsigned int in C with Tutorial, C language with programming examples for beginners and professionals covering concepts, c pointers, c structures, c union, c strings etc.

www.javatpoint.com

 

 

728x90

'XR개발 > C언어' 카테고리의 다른 글

01_Q&A C언어에서 \n에 대한 물음.zip  (0) 2025.01.21
C언어 수식과 연산자  (0) 2025.01.20
C언어 프로그램 구성요소  (2) 2025.01.18
프로그램 개발 과정  (0) 2025.01.17
프로그래밍의 개념  (3) 2025.01.16