본문 바로가기
c언어/c언어

[c언어] typedef

by ilp 2025. 3. 2.
반응형

개요

  • 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