반응형
typedef는 기존의 자료형에 새롭게 새롭게 별칭을 부여할 때 사용합니다.
typedef의 형식을 알아보겠습니다.
typedef 기존type 별칭;
typedef를 이용하면 구조체, 공용체, 열거형도 조금더 간단하게 사용할 수 있습니다.
예제를 통해 보겠습니다.
#include <stdio.h>
typedef struct student{
char name[20];
int age;
char address[30];
}STUDENT; //새로운 STUDENT 키워드를 부여
int main(void) {
STUDENT stu;
stu.age = 20;
printf("나이는 = %ㅇ \n", stu.age);
return 0;
}
struct앞에 typedef을 선언하고 정의뒤에 새로운 별칭을 추가로 선언해주면
구조체 변수를 선언할때 struct를 붙이지 않아도 선언해서 사용할 수 있습니다.
union과 enum도 마찬가지로 가능합니다.
함수 정의도 typedef를 이용해서 간단하게 할 수 있습니다.
#include <stdio.h>
#include <string.h>
typedef struct student{
char name[20];
int age;
char address[30];
}STUDENT;
STUDENT studentInfo(char *_name,int _age, char * _address) {
STUDENT stu;
strcpy(stu.name, _name);
stu.age = _age;
strcpy(stu.address, _address);
return stu;
}
int main(void) {
STUDENT stu = studentInfo("철수", 20, "서울시");
printf("이름 = %s \n", stu.name);
printf("나이 = %d \n", stu.age);
printf("주소 = %s \n", stu.address);
return 0;
}
struct 구조체이름을 반환형으로 선언하지 않고 그냥 별칭만으로 함수를 선언할 수 있습니다.
typedef를 이용해서 일반 자료형이나 배열들도 간편하게 선언할 수 있습니다.
#include <stdio.h>
typedef unsigned int uint;
typedef int int_array[10];
int main(void) {
uint num;
num = 10;
int_array num2={ 1,2,3,4,5,6,7,8,9,0 };
}
unsigned int를 typedef을 이용해서 uint라는 별칭을 부여합니다.
그러면 uint로 선언된 변수들은 unsigned int의 자료형으로 선언된거와 같게 됩니다.
typedef를 이용해 int형 크기 10의 배열을 선언해서 별칭으로 변수를 선언하면 변수는
int [10]의 크기를 가지게 되는 겁니다.
typedef를 사용해서 사용 용도나 긴 자료형을 간단하게 표현 등 효율을 높일 수 있습니다.
'공부 자료실 > C언어' 카테고리의 다른 글
C언어 - void 포인터 (0) | 2020.07.03 |
---|---|
C언어 - 포인터와 다중 포인터 (0) | 2020.07.03 |
C언어 - 열거형 (0) | 2020.07.02 |
C언어 - 공용체 (0) | 2020.07.01 |
C언어 - 문자열 변환 (0) | 2020.06.30 |
댓글