자료실/C언어

C언어 - typedef

자료수집중 2020. 7. 2.
반응형

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를 붙이지 않아도 선언해서 사용할 수 있습니다.

unionenum도 마찬가지로 가능합니다.

 

 

함수 정의도 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 inttypedef을 이용해서 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

댓글