DOUG LLOYD: Also, wenn Sie haben unsere Video-on-Strukturen zu sehen,
Sie bereits wissen, dass wir die Fähigkeit, unsere eigenen Datentypen definieren.
Aber wenn Sie gebrauchte Strukturen haben, wissen Sie dass manchmal unter Verwendung dieser Datentypen
kann tatsächlich ein wenig sein umständlich, weil wir
müssen das Schlüsselwort struct verwenden wenn wir mit them-- Arbeits
struct Auto oder struct Student.
Das ist eine Menge zu geben wenn wir wollen, nur um
etwas einfach, wie eine Struktur.
Wir wollen have-- wir wollen in der Lage, mit den Dingen zu arbeiten
ein wenig mehr Kurzform, wie int oder char, etwas viel
bequemer zu geben.
>> Glücklicherweise gibt es eine Möglichkeit, dies zu tun in C,
mit etwas typedef genannt, das ist ein Weg, um Kurzschrift zu erstellen oder neu geschrieben
Namen für Datentypen.
Sie können die Daten neu zu schreiben Typen, die bereits vorhanden sind,
oder Sie können Datentypen Ihrer eigenen zu schreiben.
>> Das erste, was Sie tun, ist Sie definieren eine Art in der üblichen Weise,
und dann müssen Sie nur Alias ​​es um etwas else-- typedef alten Namen neue Namen.
Ziemlich einfach, nicht wahr?
So haben wir zum Beispiel typedef könnte, den bereits vorhandenen Daten
Art von unsigned char als Byte.
Und dann, von nun an, nachdem wir machte diese Art definition-- wieder,
die in der Regel gehen, um an der Spitze zu sein unserer dot C-Dateien oder in einem Punkt H-Datei
nur getrennt, können wir benutzen überall beißen
wir würden unsigned char benutzt haben.
Das ist viel kürzer zu geben.
>> In CS50 Bibliothek, this-- tun wir wir typedef char Stern als String.
Weil wir abstrahiert entfernt die Idee von Zeigern.
Und die Tatsache, dass ein String ist wirklich ein Zeiger zu dem ersten character--
ein Feld von Zeichen, weil es einfach
so verwirrend, um den Kopf herum zu erhalten dass-- aber in der Tat, das, was wir tun ist.
Und tatsächlich diese Codezeile vorhanden ist in CS50 dot H typedef char Sterne-string,
nur, dass ein bisschen weniger zu machen mühsam zu bewältigen haben.
Schon haben Sie wahrscheinlich eine gesehen haben wenig von dem Wert hier,
aber typedef groß wird wenn sie mit Strukturen kombiniert,
wie ich spielte auf früher.
Strukturen eine Zwei-Wort-Typnamen.
Und so sie wirklich lästig sein kann um Variablen dieses Typs zu schaffen,
oder [unverständlich] der Struktur etwas, Ihrem Linien können nur wirklich, wirklich lange.
Und so können Sie typedef verwenden zu kommen mit etwas viel kürzer.
>> Also, wenn ich definieren, ein Auto wie folgt, habe ich meine Definition eines car-- struct Auto,
und öffnen Sie dann geschweifte Klammer, die alle die Felder meiner Struktur,
close geschweifte Klammer, halb colon-- nachdem ich meine Datentyp definiert,
Ich kann struct typedef Auto als Autostrich t.
Und dann, wenn ich, dass jetzt jedes getan Zeit, die ich sonst verwendet haben struct
Auto, kann ich nur Autostrich t.
Das ist viel kürzer ist eine Möglichkeit, Ausdruck dieser Idee dieser Struktur
dass ich gerade erstellt haben.
>> Alternativ, weil Strukturen sind so häufig in typedef verwendet,
es gibt a-- Sie tatsächlich definieren geben zwischen dem Beginn und dem Ende.
Also die typedef Struktur wieder Regel typedef, alter Name, neuer Name,
wo die Namen bereits Typen, die Sie erstellt haben.
Aber man kann tatsächlich definieren eine Struktur direkt in der Mitte des typedef
anstatt zu definieren, separat und dann
machen einen typedef davon.
Und das wäre nur aussehen this-- typedef struct Auto,
offene geschweifte Klammer, alle Ihre Feld Definitionen, in der Nähe geschweifte Klammer, Auto t.
Also der alte Name ist all das Zeug in die rot, du bist nur Festlegung der Struktur
und nannte sie zur gleichen Zeit.
Und dann der neue Name ist Autostrich t.
Und so, wenn wir beginnen zu bedienen dies in Code, der zuvor I
gesagt haben könnte, struct Auto mycar Semikolon.
Nun, ich weiß nicht mehr tun.
Nun, da ich das typedef verwendet, I kann nur sagen Autostrich t, ​​mycar.
Das ist viel kürzer der Weise es zu tun, und in der Tat, es ist
gehen, um noch viel mehr sein, praktisch, vor allem
wie Sie, um Strukturen zu verwenden beginnen viel mehr in Ihrem Code.
>> Ich bin Doug Lloyd.
Dies ist CS50.