반응형
개요
- c언어에서 'typedef'는 기존에 데이터 타입에 새로운 이름을 주는 키워드이다.
- 복잡한 자료형을 간단하게 표현할 수 있고, 코드의 가독성을 향상시킬 수 있다.
기본 사용법
👇기본 형식이다.
typedef 기존_타입 새로운_타입명;
typedef int abc;
abc dfg=0; //이렇게 할 수 있다.
'abc'는 'int'와 동일하게 사용될 수 있다.
구조체에서 사용
- 구조체와 함께 typedef를 사용하면 구조체 타입에 새로운 이름을 쉽게 부여할 수 있다.
struct Point {
int x;
int y;
};
typedef Point asdf;
//이러면 point를 asdf로 사용할 수 있다.
typedef struct {
int x;
int y;
} QWEr;
// 이러면 QWEr 타입을 사용하여 구조체 변수를 선언할 수 있따.
int main(){
Point p1,p2;
p1.x=10;
p1.y=20;
}
배열
- 자주 사용하는 배열의 타입을 정의하여 사용할 수 있다.
typedef double abc[3][3];
//doudle 타입의 3*3 2차원 배열을 'abc'라는 새로운 이름으로 정의했다.
abc arr1,arr2;
//이렇게 선언할 수 있다. 두 변수 모두 double 타입의 3*3 배열이다.
arr1[1][2]=0.8; //이런 식으로 사용할 수 있다.
문자열 포인터
- 문자열을 포인털로 다룰때 typedef로 쉽게 사용할 수 있다.
typedef char *string; //문자열 포인터 타입을 string으로 정의
string name="abc";
printf("%s",name);
함수 포인터
- 복잠한 함수를 typedef로 간소화 할 수 있다.
typedef int (*abc)(int); //함수 포인터 타입을 abc으로 정의
int a(int x) {
return x * x;
}
int b(int x) {
return 2 * x;
}
abc ab = a;
printf("%d\n", ab(4)); //ab를사용하여 함수 호출
ab = b;
printf("%d\n", ab(4)); //함수 포인터 변경
끝
반응형
'c언어 > c언어' 카테고리의 다른 글
[c언어] strcnpy (0) | 2025.03.02 |
---|---|
[c언어] strcpy (0) | 2025.03.02 |
[c언어] 함수 (4) | 2024.07.02 |
[c언어] '%s'와 '%[n]s' (0) | 2024.06.08 |
[c언어] strcmp (2) | 2024.05.31 |