엔지니어가 되고 싶은 공돌이

04. C언어의 자료형 본문

C Language/Base C

04. C언어의 자료형

Geca 2021. 2. 14. 23:16


4. 1 C언어의 자료형

- 자료형(data type)이란 데이터의 종류를 의미하며, C언어의 자료형은 크게 8가지로 표현할 수 있습니다.

 

정수형 short(2byte) int(4byte) long(4byte) long long(8byte)
부동소수형(실수형) float(4byte) double(8byte) long double(16byte)  
문자형 char(1byte)      

 

- 정수형은 2, 3, -5 와 같은 정수 값들을, 부동소수형은 3.14159..., -42415.51325... 와 같은 실수들을 문자형은 'a' 처럼 문자를 저장하는데 사용됩니다.

- C언어에서 자료형을 여러 개로 두는 이유는 동일한 값이지만 2라는 숫자와 '2'라는 문자가 다르듯 그 형태를 구분짓기 위함이며, 또한 자료형마다 크기를 달리해 메모리 공간을 효율적으로 활용하기 위함입니다.

- 자료형은 함수, 변수, 상수 등의 이름을 뜻하는 식별자(Identifier) 앞에 붙어 식별자의 형태를 결정짓는 역할을 합니다.

- 함수(function): 프로그램에서 특정한 기능을 수행하는 작은 기능.

- 변수(variable): 데이터를 저장하는 데 필요한 메모리의 위치에 붙는 이름. 값이 계속 변할 수 있다.

- 상수(constant): 그 값이 변하지 않고 고정된 값을 저장하는 곳.


4. 2 변수와 상수

- 변수는 "자료형 변수의 이름 = 초기화 값"; 의 형태로 선언한 후 사용됩니다.

- 상수는 "const 자료형 변수의 이름 = 초기화 값"; 의 형태로 선언한 후 사용됩니다.

#include <stdio.h>
#include <stdlib.h>

int main() {
	
	const int MAX_POINT = 10;
	int point = 0;
	
	printf("현재 A팀의 point는 %d 입니다.\n", point);
	
	point = point + 1; // = point + 1;
	
	printf("현재 A팀의 point는 %d 입니다.\n", point);
	
	return 0;
}

- const int MAX_POINT는 10의 값을 가지는 상수로 선언되었습니다. 상수는 프로그램 코딩과정에서 그 값을 이후 변경해서는 안되며, 만약 변경하게 된다면 컴파일러는 에러를 출력하게 됩니다.

- point라는 변수는 int 자료형을 가지고 0의 값을 가지도록 선언되었습니다. 

- 프로그래밍 언어는 수학과 달리 point = point +1이 가능합니다. 여기서 = 은 같다라는 뜻이 아닌 "오른쪽의 값을 왼쪽의 변수에 저장하겠다. " 라는 것을 의미합니다.

 

그림1. 출력 결과


4. 3  sizeof

- C 언어에서는 정말 많은 함수들을 제공하며, 그 중에서 sizeof 함수는 자료형을 입력 받아서 입력 받은 자료형의 크기를 출력으로 보내주는 함수입니다.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
	printf("Integral type\n");
	printf("char의 크기는 다음과 같습니다. =        %d\n", sizeof(char));
	printf("short의 크기는 다음과 같습니다. =       %d\n", sizeof(short));
	printf("int의 크기는 다음과 같습니다. =         %d\n", sizeof(int));
	printf("long의 크기는 다음과 같습니다. =        %d\n", sizeof(long));
	printf("long long의 크기는 다음과 같습니다. =   %d\n\n", sizeof(long long));
	printf("floating point type\n");
	printf("float의 크기는 다음과 같습니다. =       %d\n", sizeof(float));
	printf("double의 크기는 다음과 같습니다. =      %d\n", sizeof(double));
	printf("long double의 크기는 다음과 같습니다. = %d\n", sizeof(long double));
	
	return 0;
}

 

그림2. 출력 결과


4. 4  Char

- C언어에서는 작은 따옴표와 큰 따옴표를 구별합니다. 'a' 처럼 하나의 문자를 표현할 때는 작은 따옴표를 사용하며 "money"처럼 여러개의 문자를 가지는 문자열(String)을 표현할 때는 큰 따옴표를 사용합니다.

- C언어에서 하나의 문자를 표현할 때 사용하는 문자표는 ASCII 표를 사용합니다.

 

그림3. ASCII Code Table


References

[1] www.asciitable.com/

Comments