logo

C의 typedef

그만큼 형식 정의 C 프로그래밍에서 이미 존재하는 변수에 의미 있는 이름을 제공하기 위해 사용되는 키워드입니다. C 프로그램 . 이는 명령의 별칭을 정의할 때와 유사하게 동작합니다. 간단히 말해서 이 키워드는 이미 존재하는 변수의 이름을 재정의하는 데 사용된다고 말할 수 있습니다.

typedef의 구문

 typedef 

위 구문에서 ' 기존_이름' 은 이미 존재하는 변수의 이름이고 ' 별칭 이름' 기존 변수에 부여된 또 다른 이름입니다.

예를 들어, 다음 유형의 변수를 생성한다고 가정합니다. 부호 없는 정수 , 이 유형의 변수를 여러 개 선언하려는 경우 지루한 작업이 됩니다. 문제를 극복하기 위해 우리는 다음을 사용합니다. 형식 정의 예어.

 typedef unsigned int unit; 

위의 성명에서 우리는 다음과 같이 선언했습니다. 단위 다음을 사용하여 unsigned int 유형의 변수 형식 정의 예어.

이제 유형의 변수를 만들 수 있습니다. 부호 없는 정수 다음 명령문을 작성하여:

 unit a, b; 

글을 쓰는 대신:

 unsigned int a, b; 

지금까지 우리는 형식 정의 키워드는 이미 존재하는 변수에 대한 대체 이름을 제공하여 멋진 지름길을 제공합니다. 이 키워드는 긴 데이터 유형, 특히 구조 선언을 처리할 때 유용합니다.

스레드.파괴

간단한 예를 통해 이해해보자.

 #include int main() { typedef unsigned int unit; unit i,j; i=10; j=20; printf('Value of i is :%d',i); printf('
Value of j is :%d',j); return 0; } 

산출

 Value of i is :10 Value of j is :20 

구조체에 typedef 사용

아래 구조 선언을 고려하십시오.

 struct student { char name[20]; int age; }; struct student s1; 

위의 구조 선언에서 우리는 변수를 만들었습니다. 학생 다음 명령문을 작성하여 입력하십시오.

 struct student s1; 

위의 문장은 s1이라는 변수의 생성을 보여주지만, 문장의 크기가 꽤 크다. 그렇게 큰 진술을 피하기 위해 우리는 다음을 사용합니다. 형식 정의 유형의 변수를 생성하는 키워드 학생 .

 struct student { char name[20]; int age; }; typedef struct student stud; stud s1, s2; 

위의 명령문에서 변수를 선언했습니다. 마개 유형 구조체 학생입니다. 이제 우리는 마개 유형의 변수를 생성하는 프로그램의 변수 구조체 학생 .

적대적 검색

위의 typedef는 다음과 같이 작성할 수 있습니다.

 typedef struct student { char name[20]; int age; } stud; stud s1,s2; 

위의 선언으로부터 우리는 다음과 같은 결론을 내립니다. 형식 정의 키워드는 코드 길이와 데이터 유형의 복잡성을 줄여줍니다. 프로그램 이해에도 도움이 됩니다.

구조체 선언을 형식 정의하는 또 다른 예를 살펴보겠습니다.

 #include typedef struct student { char name[20]; int age; }stud; int main() { stud s1; printf('Enter the details of student s1: '); printf('
Enter the name of the student:'); scanf('%s',&s1.name); printf('
Enter the age of student:'); scanf('%d',&s1.age); printf('
 Name of the student is : %s', s1.name); printf('
 Age of the student is : %d', s1.age); return 0; } 

산출

 Enter the details of student s1: Enter the name of the student: Peter Enter the age of student: 28 Name of the student is : Peter Age of the student is : 28 

포인터와 함께 typedef 사용

다음을 사용하여 포인터 변수에 다른 이름이나 별칭 이름을 제공할 수도 있습니다. 형식 정의 .

예를 들어, 일반적으로 아래와 같이 포인터를 선언합니다.

 int* ptr; 

위 포인터 변수의 이름을 아래와 같이 바꿀 수 있습니다.

 typedef int* ptr; 

위의 명령문에서 우리는 유형의 변수를 선언했습니다. 정수* . 이제 유형의 변수를 만들 수 있습니다. 정수* 단순히 '를 사용하여 ptr' 아래 명령문에 표시된 대로 변수:

 ptr p1, p2 ; 

위의 진술에서, p1 그리고 p2 유형의 변수는 ' ptr' .