typedef란? typedef를 사용하면 새로운 자료형을 정의할 수 있다. 즉, typedef 키워드를 사용해 C의 기본 자료형을 확장할 수 있다. 사용하는 방법은 다음과 같다. typedef unsigned char BYTE; unsigned char은 기존의 자료형, BYTE는 새로운 자료형이다. 기존의 자료형 unsigned char을 새로운 자료형 BYTE로 정의하는 것이다. unsigned char 형은 작은 정수를 저장하는 데에 사용할 수 있다. unsigned char만 보았을 때 정수를 저장하는 데 사용된다는 것을 알기 어렵기 때문에 BYTE라는 이름으로 새롭게 정의해준 셈이다. 이렇게 정의된 BYTE는 다음과 같이 사용할 수 있다. BYTE index; // unsigned char i..
C
공용체란? C에서 같은 메모리 영역을 여러 개의 변수들이 공유할 수 있게 하는 기능을 공용체라 한다. 같은 메모리 영역을 공유하게 되면 메모리를 절약할 수 있다. 공용체를 선언하고 사용하는 방법은 구조체와 비슷하며, 구조체와 똑같은 방법으로 태그를 붙여서 사용한다. 다만 공용체는 멤버들이 같은 공간을 공유하기 때문에 동시에 모든 멤버 변수들의 값을 저장할 수는 없으며, 어떤 순간에는 하나의 멤버만 존재할 수 있다. 구조체는 각 멤버가 독립된 공간을 할당 받고, 공용체는 가장 큰 멤버의 크기만큼 메모리가 할당된다. 공용체 선언 union example { char c; int i; } 여기서 union은 키워드이고 example은 공용체 태그 이름이며 변수 c와 i는 공용체의 멤버이다. 앞에서 말했듯이 공..
구조체란? 구조체는 C에서 사용되는 파생 자료형 중 가장 일반적이고 많이 사용되는 자료형이다. 파생 자료형이란 기본 자료형인 char, int, double에서 파생된 것으로 배열, 구조체, 공용체, 포인터 등을 들 수 있다. 동일한 자료형을 묶어서 사용하는 배열과 다르게 구조체는 다른 자료형을 하나로 묶어서 표현할 수 있다. 예를 들어 학생을 하나의 종류로 나타낸다고 할 때 다음과 같이 묶어서 나타낼 수 있다. int number; // 학번 char name[10]; // 이름 double grade; // 학점 구조체 선언 구조체는 struct 키워드를 사용해 다음과 같은 형식으로 정의된다. 구조체를 선언하는 것도 하나의 문장에 해당하기 때문에 구조체 선언의 마지막에 세미콜론을 붙여줘야 한다. st..