본문 바로가기

Language/C

typedef(형 제정의 문)


●typedef

형(type)재 정의문 이라도고 하는 typedef문은 기존의 자료형에 새로운 이름을 붙이는 것이다. 이는 읽기 쉬운 의미의 프로그램 작성이 가능해진다.

<형식>

typedef type-declaration;

으로 여기서 type-declaration이 변수명이 아닌 데이터형 이름(int나 float같은...)dlfksms 것을 제외하면 변수 선언과 동일하다.

ex)typedef int count;

count flag;

를 선언 했다고 한다면 count는 int를 의미하는 것이다. 즉...

count = flag;는 int flag와 같다는 의미가 된다.

이러한 기능은 #define과 별반 다를게 없어 보이는데 typedef문은 #define문의 범위 이상의 복잡한 객체를 정의하는 데 사용된다. 즉, 복잡한 응용자료형의 단순화가 가능하다.

ex)typedef int group[10];

group totals;

for(i=0;i<10;i++);

tatal[i] = 0;

위의 예문처럼 group배열을 typedef로 정의를 하고 2line 같이 totals를 정의하면 totals는 정수형 10개의 배열을 가진 변수로 정의가 된다.

typedef문은 구조체를 정의할 때 자주 사용된다.

구조체는 정의를 하도고 struct명령문을 게속해서 찍어줘야한다.

하지만 typedef문을 이용하여 정의를 하면 그런 수고를 들수가있다.

ex)struct complex_struct{

dauble real;

dauble imag;

}

typefed struct complex_struct complex;

complex voltagl = {3.5, 1.2};//이문은 struct complex_struct complex voltal이다.

위의 예문과 같이 struct를 생략하고 코딩이 가능한 것이다.