DOUG LLOYD: Així que si vostè té vist el nostre vídeo sobre les estructures,
vostè ja sap que tenim la capacitat de definir els nostres propis tipus de dades.
Però si vostè té estructures usades, ja saps que de vegades l'ús d'aquests tipus de dades
en realitat pot ser una mica molest perquè
d'utilitzar la paraula clau struct quan estem treballant amb ells--
struct cotxe o struct estudiant.
Això és un munt d'escriure si només vull tenir
alguna cosa simple, com una estructura.
Volem tener-- volem ser capaç de treballar amb les coses
una mica més taquigrafia, com int o char, alguna cosa molt
més còmode per escriure.
>> Afortunadament, hi ha una manera de fer això en C,
amb una cosa anomenada typedef, que és una manera de crear taquigrafia o reescrit
noms per als tipus de dades.
Podeu tornar a escriure les dades tipus que ja existeixen,
o pot escriure tipus de dades del seu compte.
>> La primera cosa que fer que és definir un tipus de la forma habitual,
i llavors només un àlies a alguna cosa else-- typedef nom antic nom nou.
Bastant senzill, oi?
Així que podríem typedef per exemple, les dades ja existents
tipus de unsigned char com byte.
I després, a partir d'ara, després que hem va fer aquest tipus definition-- de nou,
que és en general va ser a la part superior dels nostres arxius punt C, oa un arxiu H dot
per separat, podem simplement utilitzi mossegar tot arreu
hauríem utilitzat unsigned char.
Això és molt més curt que escriure.
>> A la biblioteca del CS50, fem esto-- ens typedef estrelles Char com a cadena.
A causa de que van resumir lluny la idea de punters.
I el fet que una cadena és realment un punter a la primera character--
una gran varietat de personatges, perquè és només
tan confús per aconseguir el seu cap al voltant que-- però de fet això és el que fem.
I aquesta línia de codi realment existeix en la cadena estrella carbó CS50 punt H typedef,
només per fer que una mica menys molest haver de tractar.
Ja has vist probablament un mica de valor aquí,
però typedef es converteix en un gran quan es combina amb estructures,
com he al·ludit abans.
Estructures tenen un nom de tipus de dues paraules.
I perquè puguin ser realment molest per crear les variables d'aquest tipus,
o [inaudible] d'estructura alguna cosa, la seva línies només poden aconseguir molt, molt llarga.
I perquè pugui utilitzar typedef per venir amb alguna cosa molt més curt.
>> Així que si jo defineixo un cotxe de la següent manera, tinc la meva definició d'una estructura auto car--,
i després obrir claudàtor, tot els camps de la meva estructura,
tancament claudàtor, semi-colon-- després que jo he definit el meu tipus de dades,
Puc typedef struct cotxe com subratllat cotxe t.
I després, quan ho he fet, ara cada struct temps hauria utilitzat d'una altra manera
cotxe, pot simplement usar cotxe subratllat t.
Això és molt més curta de la manera de expressar aquesta idea d'aquesta estructura
que acabo de crear.
>> Alternativament, perquè les estructures estan tan d'ús comú en typedef,
hi ha A-- en realitat es pot definir el escrigui entre l'inici i la fi.
Així que l'estructura és de nou typedef generalment typedef, nom antic, nou nom,
on els noms són ja tipus que ha creat.
Però en realitat es pot definir una estructura al bell mig de la typedef
en lloc d'haver de definir per separat, i després
fer un typedef de la mateixa.
I això mateix aspecte que esto-- struct cotxe typedef,
clau d'obertura, tots els del seu camp definicions, tancament claudàtor, cotxe t.
Així que el nom antic és totes aquestes coses al vermell, vostè està definint l'estructura
i nomenant al mateix temps.
I a continuació, el nou nom és subratllat cotxe t.
I així, si comencem a utilitzar aquesta en el codi, prèviament em
podria haver dit: struct cotxe mycar punt i coma.
Bé, jo no he de fer això mai més.
Ara que he utilitzat el typedef, I només puc dir subratllat cotxe t, mycar.
Això és molt més curta d'una manera per fer-ho, i de fet, és
serà molt més convenient, especialment
com començar a utilitzar les estructures molt més en el seu codi.
>> Sóc Doug Lloyd.
Això és CS50.