C 언어 - typedef 키워드

컴퓨터/C

728x90
반응형

typedef 키워드 - 타입을 재 정의하다.

이제 C언어에서 사용하는 모든 자료형을 다 배웠습니다. 이 자료형에 부여된 이름은 C언어 안에서 메모리 공간을 어떤 방식으로 얼마큼 할당할 거냐에 대한 약속된 키워드입니다. 자주 쓰는 자료형들은 사용자에게 익숙할 수 있지만 자주 쓰지 않거나 생각보다 입력해야 될 것이 많은 키워드들이 있습니다. 

이런 키워드들을 사용자가 원하는 이름으로 재정의하여 사용하기 위한 키워드가 typedef입니다.

typedef키워드를 잘 사용한다면 불필요한 타이핑을 줄이며 조금 더 효율적인 소스코드를 작성할수 있습니다.

 

기본 자료형에 typedef 

어떠한 프로그래밍을 하는데 가장 좋은 자료형이 unsinged cahr 라고 가정을 해봅시다. 그리고 이 프로그램에 unsigned char자료형의 변수가 100개 들어간다고 가정을 한다면, 타이핑을 하는 것도 많은 시간이 소요됩니다. 이럴 때 아래와 같이 typedef를 사용한 재정의를 하면 조금 더 효율적으로 프로그래밍을 할 수 있습니다.

typedef unsigned char Uchar;

Uchar A; // unsigned char 와 같다. 
unsigned char B; // 물론 원래의 자료형이름으로도 사용 가능하다.

typedef를 통해 unsigned chaar 자료형을 Uchar로 재정의 했습니다. 

100번의 unsigned char 자료형을 선언한다면 Uchar로 재 정의하여 선언하는 것이 좀 더 효율적일 것입니다.

 

구조체에 typedef

구조체를 정의한 후 구조체를 변수로 선언하기 위해서는 아래와 같습니다.

struct 구조체명 변수명;

정확한 표현이 가능하지만 사용자의 입장에서는 struct라는 이미 구조체라고 인지하고 있지만 한번더 알려줘야 되는 불필요 함이 있습니다. 이런 것을 단축시키기 위해 typedef를 사용하면 효율 적입니다.

struct Job
{
    char name[10];
    int att;
    int HP;
};
typedef struct Job JOB;

JOB job1;
struct Job job2;

typedef 키워드를 사용하여 사용자 정의 자료형 struct Job를 JOB으로 재정의 하였습니다. 

재정의 한 후 재정의된 JOB를 사용하여 struct Job의 변수를 선언할 수 있습니다.

 

애초에 struct를 정의할때 typedef를 사용하여 만들 수도 있습니다. 보통 아래와 같이 많이 사용합니다.

typedef struct Job
{
    char name[10];
    int att;
    int HP;
}JOB;

JOB job1;
struct Job job2;

 

여러 번 재정의 또한 가능합니다.

typedef를 사용해서 한 번이 아닌 여러 번 재정의해서 다양하게 사용하는 것 또한 가능합니다.

typedef struct Job
{
    char name[10];
    int att;
    int HP;
}JOB,JOB_basic;

JOB job1;
struct Job job2;
JOB_basic job3;

typedef unsigned char Uchar,uchar;
unsigned char A;
Uchar B;
uchar C;

예제들처럼 typedef를 활용하면 사용자는 조금 더 효율적인 소스코드를 만들 수 있습니다.

728x90
반응형

'컴퓨터 > C' 카테고리의 다른 글

C 언어 - 다중 포인터  (2) 2021.06.24
C 언어 - 구조체 포인터  (0) 2021.06.23
C 언어 - struct(구조체)  (0) 2021.06.22
C 언어 -포인터와 배열  (0) 2021.06.21
C 언어 - const 키워드  (0) 2021.06.18

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :