그만큼 형식 정의 기존 데이터 유형에 새 이름을 제공하는 데 사용되는 키워드입니다. 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의 주요 차이점입니다.
- #define은 값에 대한 별칭도 정의할 수 있습니다. 예를 들어 1을 ONE으로, 3.14를 PI로 정의할 수 있습니다. Typedef는 유형에만 기호 이름을 제공하는 것으로 제한됩니다.
- 전처리기는 #define 문을 해석하고, 컴파일러는 typedef 문을 해석합니다.
- #define 끝에는 세미콜론이 없어야 하지만 typedef 끝에는 세미콜론이 있어야 합니다.
- #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 열거형은 열거형 데이터 형식에 대한 별칭을 정의하는 데 사용됩니다.