logo

C 형식 정의

그만큼 형식 정의 기존 데이터 유형에 새 이름을 제공하는 데 사용되는 키워드입니다. C typedef 키워드는 기존 데이터 유형의 이름을 재정의하는 데 사용됩니다.

프로그램에서 데이터 유형의 이름을 사용하기 어려워지면 typedef가 사용자 정의 데이터 유형과 함께 사용되며 이는 명령의 별칭을 정의하는 것과 유사하게 작동합니다.



C typedef 구문

 typedef existing_name alias_name;>

이 선언 후에는 다음을 사용할 수 있습니다. 별칭_이름 마치 그게 진짜인 것처럼 기존_이름 C 프로그램에서.

C의 typedef 예

 typedef long long ll;>

다음은 typedef를 사용하는 방법을 설명하는 C 프로그램입니다.








// C program to implement typedef> #include> // defining an alias using typedef> typedef> long> long> ll;> // Driver code> int> main()> {> >// using typedef name to declare variable> >ll var = 20;> >printf>(>'%ld'>, var);> >return> 0;> }>

>

>

네트워크 유형
산출

20>

C에서 typedef 사용

다음은 C 프로그래밍에서 typedef의 몇 ​​가지 일반적인 용도입니다.

  • typedef 키워드는 다른 사용자가 프로그램을 더 쉽게 이해할 수 있도록 기존 데이터 유형에 의미 있는 이름을 제공합니다.
  • 코드 가독성을 높이기 위해 구조체와 함께 사용할 수 있으며 구조체를 반복적으로 입력할 필요가 없습니다.
  • typedef 키워드를 포인터와 함께 사용하여 단일 문에서 여러 포인터를 선언할 수도 있습니다.
  • 배열과 함께 사용하여 원하는 수의 변수를 선언할 수 있습니다.

1. typedef 구조체

typedef는 C 프로그래밍 언어의 구조에도 사용할 수 있습니다. 새로운 데이터 유형을 생성하고 구조 변수를 정의하는 데 사용할 수 있습니다.

예제 1: typedef를 사용하여 구조 이름 정의




// C program to implement> // typedef with structures> #include> #include> // using typedef to define an alias for structure> typedef> struct> students {> >char> name[50];> >char> branch[50];> >int> ID_no;> } stu;> // Driver code> int> main()> {> >stu st;> >strcpy>(st.name,>'Kamlesh Joshi'>);> >strcpy>(st.branch,>'Computer Science And Engineering'>);> >st.ID_no = 108;> >printf>(>'Name: %s '>, st.name);> >printf>(>'Branch: %s '>, st.branch);> >printf>(>'ID_no: %d '>, st.ID_no);> >return> 0;> }>

>

>

산출

Name: Kamlesh Joshi Branch: Computer Science And Engineering ID_no: 108>

2. 포인터를 사용한 typedef

typedef는 포인터에 별칭 이름을 제공하므로 포인터와 함께 사용할 수도 있습니다. Typedef는 포인터가 단순 선언의 오른쪽에 바인딩되므로 단일 문에서 여러 포인터를 선언할 때 매우 효율적입니다.

예:

typedef int* Int_ptr; Int_ptr var, var1, var2;>

위의 명령문에서 var, var1 및 var2는 int 유형의 포인터로 선언되어 단일 명령문에서 여러 개의 포인터를 선언하는 데 도움이 됩니다.

예제 2: typedef를 사용하여 포인터 유형의 이름을 정의합니다.




// C program to implement> // typedef with pointers> #include> typedef> int>* ptr;> // Driver code> int> main()> {> >ptr var;> >*var = 20;> >printf>(>'Value of var is %d'>, *var);> >return> 0;> }>

>

>

산출

Value of var is 20>

3. 배열을 사용한 typedef

typedef를 배열과 함께 사용하여 개수를 늘릴 수도 있습니다.

예:

if else 문 자바
typedef int arr[20]>

여기서 arr은 20개의 정수 요소 배열에 대한 별칭입니다.

// it's same as Arr[20], two-Arr[20][23]; arr Arr, two-Arr[23];>

예 3: typedef를 사용하여 Array의 별칭을 정의합니다.




// C program to implement typedef with array> #include> typedef> int> Arr[4];> // Driver code> int> main()> {> >Arr temp = { 10, 20, 30, 40 };> >printf>(>'typedef using an array '>);> >for> (>int> i = 0; i <4; i++) {> >printf>(>'%d '>, temp[i]);> >}> >return> 0;> }>

>

>

산출

typedef using an array 10 20 30 40>

C typedef 대 #define

다음은 C에서 typedef와 #define의 주요 차이점입니다.

  1. #define은 값에 대한 별칭도 정의할 수 있습니다. 예를 들어 1을 ONE으로, 3.14를 PI로 정의할 수 있습니다. Typedef는 유형에만 기호 이름을 제공하는 것으로 제한됩니다.
  2. 전처리기는 #define 문을 해석하고, 컴파일러는 typedef 문을 해석합니다.
  3. #define 끝에는 세미콜론이 없어야 하지만 typedef 끝에는 세미콜론이 있어야 합니다.
  4. #define과 달리 typedef는 실제로 정의 값을 복사하고 붙여넣어 새로운 유형을 정의합니다.

다음은 #define을 구현하는 C 프로그램입니다.




// C program to implement #define> #include> // macro definition> #define LIMIT 3> // Driver code> int> main()> {> >for> (>int> i = 0; i printf('%d ', i); } return 0; }>

>

>

산출

0 1 2>

C의 typedef에 대한 FAQ

1. C에서 typedef란 무엇입니까?

C typedef 문은 기존 데이터 유형에 대한 별칭 또는 별명을 정의합니다.

2. typedef 구조체란 무엇입니까?

typedef 구조체는 구조체 데이터 형식에 대한 별칭을 정의하는 데 사용되는 문입니다.

3. typedef 열거형이란 무엇입니까?

typedef 열거형은 열거형 데이터 형식에 대한 별칭을 정의하는 데 사용됩니다.