DOUG LLOYD: Dus als je hebt gezien onze video op structuren,
weet je al dat we de vermogen om eigen data types.
Maar als je hebt gebruikt structuren, weet je die soms gebruik van deze gegevens typen
kan eigenlijk een beetje te zijn omslachtig omdat we
moeten de structuur zoekwoord wanneer we werken met them--
struct auto of struct student.
Dat is een veel te typen als we willen gewoon om te hebben
iets simpels, zoals een structuur.
We willen have-- we willen in staat zijn om te werken met de dingen
een beetje meer verkorte wijze, zoals int of char, iets waar veel
handiger om te typen.
>> Gelukkig is er een manier om dit te doen in C,
met iets typedef genaamd, dat is een manier om steno maken of herschreven
namen voor gegevenstypen.
U kunt gegevens herschrijven types die al bestaan,
of kunt u gegevens typen van je eigen schrijven.
>> Het eerste wat je doet is dat je definiëren een soort op de normale manier,
en dan moet je gewoon alias dat het iets else-- typedef oude naam een ​​nieuwe naam.
Vrij eenvoudig, toch?
Dus we konden typedef bijvoorbeeld, de bestaande data
type unsigned char als byte.
En dan, vanaf nu, nadat we hebben weer maakte dit type definition--,
die meestal gaat worden aan de top onze dot C bestanden of in een punt H bestand
afzonderlijk, we kunnen gewoon Gebruik bijten overal
we zouden hebben gebruikt unsigned char.
Dat is een stuk korter te typen.
>> In de bibliotheek CS50's, we dit-- doen we typedef char ster als string.
Omdat we geabstraheerd weg van het idee van pointers.
Het feit dat een string echt een pointer naar het eerste character--
een array van karakters, want het is gewoon
zo verwarrend om je hoofd rond te krijgen dat-- maar in feite dat is wat we doen.
En deze regel code werkelijk bestaat in CS50 dot H typedef char ster touwtje,
alleen maar om dat een beetje minder te maken omslachtig te maken hebben met.
Al heb je waarschijnlijk gezien beetje van de waarde hier,
maar typedef wordt groot in combinatie met structuren
zoals ik zinspeelde eerder.
Structuren hebben een twee-woord typenaam.
En dus ze kan echt irritant variabelen van dit type te maken,
of [onverstaanbaar] van de structuur iets, je lijnen kan gewoon echt, echt lang.
En dus kun je typedef gebruiken om te komen met iets een stuk korter.
>> Dus als ik definiëren een auto als volgt, heb ik Mijn definitie van een car-- struct auto,
en open vervolgens accolade, alle het gebied van mijn structuur,
dicht accolade, semi-colon-- nadat ik mijn gegevens soort hebt gedefinieerd,
Ik kan struct typedef auto als de auto underscore t.
En toen heb ik dat gedaan, nu elke keer dat ik anders zou hebben gebruikt struct
auto, kan ik gewoon gebruik maken van de auto underscore t.
Dat is een stuk korter aan een manier om uitdrukken dit idee van deze structuur
die ik zojuist.
>> Als alternatief, omdat de structuren zijn zo vaak gebruikt in typedef,
er is a-- je daadwerkelijk kunt bepalen de typt tussen de start en het einde.
Dus de typedef structuur is weer meestal typedef, oude naam, nieuwe naam,
waarbij de namen reeds types die u hebt gemaakt.
Maar je kunt eigenlijk een structuur definiëren in het midden van de typedef
in plaats van te bepalen apart, en vervolgens
doe een typedef ervan.
En dat zou net zo uitzien als dit-- typedef struct auto,
geopend accolade, al uw vakgebied definities, dicht accolade, auto t.
Zodat de oude naam is al dat spul in de rood, je bent gewoon het definiëren van de structuur
en benoemen het op hetzelfde moment.
En dan de nieuwe naam is de auto underscore t.
En dus als we beginnen te gebruiken dit in de code, eerder I
zou hebben gezegd, structuur auto mycar puntkomma.
Nou ik weet niet meer te doen.
Nu ik de typedef heb gebruikt, ik kan alleen maar zeggen dat de auto underscore t, mycar.
Dat is een stuk korter van een manier om het te doen, en in feite, het is
gaat om veel meer te zijn handig, vooral
als je begint te structuren te gebruiken veel meer in uw code.
>> Ik ben Doug Lloyd.
Dit is CS50.