Doug LLOYD: Entón, se ten viu o noso vídeo sobre as estruturas,
xa sabes que temos a capacidade de definir os nosos propios tipos de datos.
Pero se ten estruturas utilizadas, xa sabe que, por veces, o uso destes tipos de datos
realmente pode ser un pouco complicado, porque
ten que usar a palabra chave struct cando estamos a traballar con eles--
coche struct ou estudante struct.
Iso é unha chea de escribir se nós só queremos ter
algo simple, como unha estrutura.
Queremos have-- queremos ser capaz de traballar coas cousas
un pouco máis abreviada, como int ou char, algo moi
máis cómodo para escribir.
>> Afortunadamente, hai unha forma de facelo en C,
con algo chamado typedef, o que é un xeito de crear taquigrafia ou reescrito
nomes para tipos de datos.
Pode reescribir datos tipo que xa existen,
ou pode escribir tipos de datos do seu propio país.
>> O primeiro que fai é vostede definir un tipo de forma normal,
e entón só o alias para algo else-- typedef antigo nome novo nome.
Moi sinxelo, non?
Así poderiamos typedef por exemplo, os datos que xa existe
tipo de unsigned char como byte.
E, a continuación, a partir de agora, despois de termos feito este tipo definition-- novo,
que é xeralmente vai estar no máis alto dos nosos arquivos de punto C, ou nun arquivo de punto H
separado, podemos só usar morder en todas partes
que utilizaría sen sinatura char.
Isto é moito máis curto que escribir.
>> Na biblioteca de CS50, facemos isto-- nós typedef estrela de char como cadea.
Porque abstraído aínda que a idea de punteiros.
E o feito de que unha cadea é realmente un punteiro para o primeiro character--
un array de caracteres, porque é só
tan confuso para obter a súa cabeza en torno a isso-- pero en realidade iso é o que nós facemos.
E esta liña de código realmente existe en CS50 punto H typedef de char secuencia estrela,
só para facer que un pouco menos incómodo de ter que tratar.
Xa que xa viu, probablemente, un pouco do valor aquí,
pero typedef convértese en gran cando combinada con estruturas,
como me referín anteriormente.
Estruturas teñen un nome de tipo de dúas palabras.
E así poden ser realmente irritante crear variables deste tipo,
ou [inaudível] de algo struct, o seu liñas pode só estar moi, moi longo.
E así pode utilizar typedef para vir con algo moito máis curto.
>> Entón, se eu definir un coche do seguinte xeito, eu teño miña definición dun coche struct car--,
e logo abra chaveta, todo os dominios da estrutura, o meu
preto chaveta, semi-colon-- despois de ter definido o meu tipo de datos,
Podo typedef struct coche como subliñado coche t.
E entón cando eu fixen iso, agora cada struct vez que usaría doutro xeito
coche, eu só podo usar coche subliñado t.
Isto é moito máis curto de unha forma de expresar esta idea desta estrutura
que acaba de crear.
>> Alternativamente, porque as estruturas son tan comunmente usado en typedef,
hai um-- realmente pode definir o escriba entre o inicio eo fin.
Así, a estrutura typedef é novo xeralmente typedef, antigo nome, nome novo,
onde os nomes xa son tipo que creou.
Pero realmente pode definir unha estrutura á dereita no medio do typedef
en vez de ter que axustar Lo separado, e logo
facer un typedef del.
E que sería só como isto-- typedef struct coche,
chaveta aberta, todo o seu campo definicións, preto chaveta, coche t.
Así, o nome vello é todo este material no vermello, só está definindo a estrutura
e nomeándose ao mesmo tempo.
E entón o nome é subliñado coche t.
E así se comezarmos a usar iso no código, eu anteriormente
podería dicir, struct mycar coche e coma.
Ben, eu non teño que facelo.
Agora que eu usei o typedef, I pode simplemente dicir subliñado coche t, mycar.
Isto é moito máis curto dun xeito para facelo e, de feito, é
vai ser moito máis cómodo, especialmente
como comezar a usar estruturas moito máis no seu código.
>> Eu son Doug Lloyd.
Este é CS50.