DOUG LLOYD: Así que si usted tiene visto nuestro vídeo sobre las estructuras,
usted ya sabe que tenemos la capacidad de definir nuestros propios tipos de datos.
Pero si usted tiene estructuras usadas, ya sabes que a veces el uso de esos tipos de datos
en realidad puede ser un poco engorroso porque
que utilizar la palabra clave struct cuando estamos trabajando con ellos--
struct coche o struct estudiante.
Eso es un montón de escribir si sólo quiero tener
algo simple, como una estructura.
Queremos tener-- queremos ser capaz de trabajar con las cosas
un poco más taquigrafía, como int o char, algo mucho
más cómodo para escribir.
>> Afortunadamente, hay una manera de hacer esto en C,
con algo llamado typedef, que es una manera de crear taquigrafía o reescrito
nombres para los tipos de datos.
Puede volver a escribir los datos tipos que ya existen,
o puede escribir tipos de datos de su cuenta.
>> La primera cosa que hacer que es definir un tipo de la forma habitual,
y entonces sólo un alias a algo else-- typedef nombre antiguo nombre nuevo.
Bastante sencillo, ¿verdad?
Así que podríamos typedef por ejemplo, los datos ya existentes
tipo de unsigned char como byte.
Y luego, a partir de ahora, después de que hemos hizo este tipo definition-- de nuevo,
que es por lo general va a ser en la parte superior de nuestros archivos punto C, o en un archivo H dot
por separado, podemos simplemente utilice morder todas partes
habríamos utilizado unsigned char.
Eso es mucho más corto que escribir.
>> En la biblioteca del CS50, hacemos esto-- nos typedef estrellas Char como cadena.
Debido a que resumieron lejos la idea de punteros.
Y el hecho de que una cadena es realmente un puntero a la primera character--
una gran variedad de personajes, porque es sólo
tan confuso para conseguir su cabeza alrededor que-- pero de hecho eso es lo que hacemos.
Y esta línea de código realmente existe en la cadena estrella carbón CS50 punto H typedef,
sólo para hacer que un poco menos engorroso tener que tratar.
Ya has visto probablemente un poco de valor aquí,
pero typedef se convierte en un gran cuando se combina con estructuras,
como he aludido antes.
Estructuras tienen un nombre de tipo de dos palabras.
Y para que puedan ser realmente molesto para crear las variables de ese tipo,
o [inaudible] de estructura algo, su líneas solo pueden conseguir muy, muy larga.
Y para que pueda utilizar typedef para venir con algo mucho más corto.
>> Así que si yo defino un coche de la siguiente manera, tengo mi definición de una estructura auto car--,
y luego abrir corchete, todo los campos de mi estructura,
cierre corchete, semi-colon-- después de que yo he definido mi tipo de datos,
Puedo typedef struct coche como subrayado coche t.
Y luego, cuando lo he hecho, ahora cada struct tiempo habría utilizado de otra forma
coche, puede simplemente usar coche subrayado t.
Eso es mucho más corta de la manera de expresar esta idea de esta estructura
que acabo de crear.
>> Alternativamente, porque las estructuras están tan de uso común en typedef,
hay A-- en realidad se puede definir el escriba entre el inicio y el fin.
Así que la estructura es de nuevo typedef generalmente typedef, nombre antiguo, nuevo nombre,
donde los nombres son ya tipos que ha creado.
Pero en realidad se puede definir una estructura justo en el medio de la typedef
en lugar de tener que definir por separado, y luego
hacer un typedef de la misma.
Y eso mismo aspecto que esto-- struct coche typedef,
llave de apertura, todos los de su campo definiciones, cierre corchete, coche t.
Así que el nombre antiguo es todas esas cosas en el rojo, usted está definiendo la estructura
y nombrando al mismo tiempo.
Y a continuación, el nuevo nombre es subrayado coche t.
Y así, si empezamos a utilizar esta en el código, previamente me
podría haber dicho: struct coche mycar punto y coma.
Bueno, yo no tengo que hacer eso nunca más.
Ahora que he utilizado el typedef, I solo puedo decir subrayado coche t, mycar.
Eso es mucho más corta de una manera para hacerlo, y de hecho, es
va a ser mucho más conveniente, especialmente
como empezar a utilizar las estructuras mucho más en su código.
>> Soy Doug Lloyd.
Esto es CS50.