컴퓨터/C
이제 C언어에서 사용하는 모든 자료형을 다 배웠습니다. 이 자료형에 부여된 이름은 C언어 안에서 메모리 공간을 어떤 방식으로 얼마큼 할당할 거냐에 대한 약속된 키워드입니다. 자주 쓰는 자료형들은 사용자에게 익숙할 수 있지만 자주 쓰지 않거나 생각보다 입력해야 될 것이 많은 키워드들이 있습니다.
이런 키워드들을 사용자가 원하는 이름으로 재정의하여 사용하기 위한 키워드가 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로 재 정의하여 선언하는 것이 좀 더 효율적일 것입니다.
구조체를 정의한 후 구조체를 변수로 선언하기 위해서는 아래와 같습니다.
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를 활용하면 사용자는 조금 더 효율적인 소스코드를 만들 수 있습니다.
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 |
91년생 공학엔지니어의 개발일지
TODAY :
YESTER DAY :
TOTAL :
Commnet