데이터 구조를 다시 배우면서 이전에 배웠던 지식도 많이 잊어버렸다는 것을 깨달았습니다. C/C++의 typedef 키워드는 아직 제자리에 있지 않았습니다. 마지막으로 C++ 학습에 사용되는 교과서를 읽고 Du Niang에게 질문했으며 typedef 사용법에 대한 많은 블로그를 읽었습니다. 그래서 제가 이해한 내용을 정리하고 싶었습니다.
1. 기본 설명
Typedef는 C 언어에서 데이터 유형에 대한 새로운 이름을 정의하는 데 사용되는 키워드입니다. 여기의 데이터 유형에는 내부 데이터 유형(int, char 등)과 사용자 정의 데이터 유형(struct 등)이 포함됩니다.
프로그래밍에서 typedef를 사용하는 목적은 일반적으로 두 가지입니다. 하나는 기억하기 쉽고 명확한 의미를 갖는 새 이름을 변수에 부여하는 것이고, 다른 하나는 좀 더 복잡한 유형 선언을 단순화하는 것입니다.
2. 사용법
(1) typedef를 사용하여 기존 유형 이름을 대체할 새 유형 이름을 선언합니다. 예:
typedef int Status //指定标识符Status代表int类型 typedef double DATE //指定标识符DATE代表double类型
다음 코드는 다음과 같습니다.
int i; double j; Status i;DATE j;
(2) typedef를 사용하여 배열 유형에 새 이름을 지정합니다.
typedef int NUM[100];//声明NUM为整数数组类型,可以包含100个元素 NUM n;//定义n为包含100个整数元素的数组,n就是数组名
(3) 구조 유형에 대한 새 이름 선언:
typedef struct //在struct之前用了关键字typedef,表示是声明新类型名 { int month; int day; int year; } TIME; //TIME是新类型名,但不是新类型,也不是结构体变量名
새로 선언된 새 유형 이름 TIME은 위에서 지정한 구조 유형을 나타내므로 TIME을 사용하여 다음과 같이 구조 변수를 정의할 수 있습니다.
TIME birthday; TIME *P //p是指向该结构体类型数据的指针
3. 참고:
(1) typedef를 사용하면 기존 유형에 유형 이름만 추가될 뿐 새 유형이 생성되지는 않습니다. 단지 새 이름을 추가하고 이 이름을 사용하여 변수를 정의할 수 있습니다. 예를 들어 위의 상태를 사용하여 변수 i를 정의하면 i 변수의 유형은 int입니다.
(2) typedef를 사용하여 새로운 유형 이름을 선언할 수 있습니다. 하지만 변수를 정의하는 데에는 사용할 수 없습니다
4. 장점
typedef 유형 이름을 사용하면 프로그램 이식성에 유리합니다. 때때로 프로그램은 하드웨어 기능에 의존합니다. 예를 들어, 특정 C++ 시스템에서는 2바이트가 int 유형 변수를 저장하는 데 사용되고, 4바이트는 long 유형 변수를 저장하는 데 사용됩니다. 다른 C++ 시스템에서는 int 유형 변수가 4바이트에 저장됩니다. int 유형 변수를 저장하기 위해 2바이트를 사용하는 C++ 시스템에서 int 유형 변수를 저장하기 위해 4바이트를 사용하는 C++ 시스템으로 C++ 프로그램을 이식할 때 원래 typedef를 사용하여 int 유형을 선언하는 경우, 예를 들면 다음과 같습니다. 🎜>
Typedef int INTEGER ; //原来这样写 Typedef long INTEGER ; //移植后可以改为这样typedef로 선언하지 않으면 int 유형이 정의된 모든 위치를 변경해야 합니다.