Als ich wieder Datenstruktur lernte, stellte ich fest, dass ich viel von dem Wissen vergessen hatte, das ich zuvor gelernt hatte Das Schlüsselwort typedef in C/C war immer noch nicht vorhanden. Schließlich habe ich die Lehrbücher zum Erlernen von C durchgelesen, Du Niang gefragt und viele Blogs über die Verwendung von typedef gelesen. Also wollte ich klären, was ich verstanden habe.
1. Grundlegende Erklärung
Typedef ist ein Schlüsselwort in der C-Sprache, das verwendet wird, um einen neuen Namen für einen Datentyp zu definieren. Zu den Datentypen gehören hier interne Datentypen (int, char usw.) und benutzerdefinierte Datentypen (struct usw.).
Die Verwendung von typedef in der Programmierung dient im Allgemeinen zwei Zwecken: Der eine besteht darin, Variablen einen neuen Namen zu geben, der leicht zu merken ist und eine klare Bedeutung hat, und der andere darin, einige komplexere Typdeklarationen zu vereinfachen.
2. Verwendung
(1) Verwenden Sie typedef, um einen neuen Typnamen zu deklarieren, der den vorhandenen Typnamen ersetzt. Zum Beispiel:
typedef int Status //指定标识符Status代表int类型 typedef double DATE //指定标识符DATE代表double类型
Der folgende Code entspricht:
int i; double j; Status i;DATE j;
(2) Verwenden Sie typedef, um dem Array-Typ einen neuen Namen zu geben:
typedef int NUM[100];//声明NUM为整数数组类型,可以包含100个元素 NUM n;//定义n为包含100个整数元素的数组,n就是数组名
(3) Deklarieren Sie einen neuen Namen für einen Strukturtyp:
typedef struct //在struct之前用了关键字typedef,表示是声明新类型名 { int month; int day; int year; } TIME; //TIME是新类型名,但不是新类型,也不是结构体变量名
Der neu deklarierte neue Typname TIME stellt einen oben angegebenen Strukturtyp dar, sodass Sie TIME zum Definieren der Strukturvariablen verwenden können, z. B.:
TIME birthday; TIME *P //p是指向该结构体类型数据的指针
3. Hinweis:
(1) Die Verwendung von typedef fügt nur einen Typnamen zu einem vorhandenen Typ hinzu, erstellt jedoch keinen neuen Typ. Es wird lediglich ein neuer Name hinzugefügt, und Sie können diesen Namen zum Definieren von Variablen verwenden. Verwenden Sie beispielsweise den Status oben, um die Variable i zu definieren. Der Typ der i-Variablen ist dann int.
(2) Sie können typedef verwenden, um einen neuen Typnamen zu deklarieren. Es kann jedoch nicht zum Definieren von Variablen verwendet werden
4. Vorteile
Die Verwendung von Typedef-Typnamen ist vorteilhaft für die Programmportabilität. Manchmal sind Programme auf Hardwarefunktionen angewiesen. In einem bestimmten C-System werden beispielsweise 2 Bytes zum Speichern einer Variablen vom Typ int und 4 Bytes zum Speichern einer Variablen vom Typ long verwendet. In einem anderen C-System werden Variablen vom Typ int in 4 Bytes gespeichert. Wenn Sie ein C-Programm von einem C-System, das 2 Bytes zum Speichern einer Variablen vom Typ int verwendet, in ein C-System übertragen, das 4 Bytes zum Speichern einer Variablen vom Typ int verwendet, wird die ursprüngliche Typdefinition zum Deklarieren des Typs int verwendet, z. B.
Typedef int INTEGER ; //原来这样写 Typedef long INTEGER ; //移植后可以改为这样
Wenn es nicht mit typedef deklariert ist, muss jede Stelle, an der der int-Typ definiert ist, geändert werden. Je größer das Programm, desto größer die Arbeitsbelastung.