반응형

【 C 언어 】 #41 사용자 정의 데이터형( typedef ) 이해하기



 C++ 에서 사용되는 데이터형 등을 C언어에서도 사용 할 수 있도록 사용자가 정의하여 쓸 수 있는 데이터형을 말한다.  다르게 얘기하면 내장함수로 존재하지 않은 변수명을 프로그램 내에서 내장함수 인것 처럼 사용이 가능하다. 
즉, 사용자가 임의로 데이터형을 정의해서 사용할 수 있다.


▶ 문제  : C++의 내장 함수인 bool 형을 C 코딩툴에서도 사용 할 수 있도록 사용자 정의 데이터 형을(typedef) 이용하여 정의하고, 숫자 '1'을 입력을 받으면, 
'true'를 출력하고 숫자 '0'을 입력 받으면 'false'를 출력하고, 그 외 숫자를 입력 받으면 " 
1과 0 중에 하나를 입력하세요 " 라는 메세지를 출력 하는 프로그램을 작성하라.  

( 단, 본인은 C++ 이 지원 되는 코딩 툴에서 작성하기 때문에, 'bool' 은 이미 정의 되어 있다. 따라서 정의 되어 있지 않은 'bools'라는 변수명을 사용 하였다)


▶ 실행 결과 :


(이미지 클릭, 확대해서 보세요)




▶ 포인트 


- typedef 사용 형식 

- 위와 같이 선언 하고 나면, 'Condition' 이라는 변수를 int 형으로 다음과 같이 선언이 가능 하다.  " bools Condition "



▶ 프로그램 (답안 예시) : 


(이미지 클릭, 확대해서 보세요)



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++




▶ 소스코드 다운로드 :  


41 사용자 데이터형(typedef) 이해하기.cpp





~~~~~~~~~~~~~~~~~~ 추가 설명 ~~~~~~~~~~~~~~~~~~~~~~~~~


'typedef' 문은 구조체 나 공용체, 열거형 등에서도 사용 할 수 있다. 


1). 구조체 사용 예시


typedef struct

{

int kor;

int eng;

int math;

} Average;


Average  AV;     // 원래는 'struct Average AV;' 라고 선언해야하나, 
AV.kor = 80;      // 이처럼 줄여서 사용할 수 있게 된다.



2). 공용체 사용 예시


typedef union

{

char ch;

int Count;

} Pluse;


Pluse  PP;             // 원래는 'union Pluse PP;' 라고 선언해야하나, 
PP.Count =  10;     // 이처럼 줄여서 사용할 수 있게 된다.




반응형