DOUG LLOYD: So as jy het gesien ons video op strukture,
jy reeds weet dat ons die vermoë om ons eie tipes data te definieer.
Maar as jy gebruik het strukture, jy weet wat soms die gebruik van dié data tipes
kan eintlik 'n bietjie wees omslagtig omdat ons
moet die struct navraag gebruik wanneer ons werk met them--
struct motor of struct student.
Dit is 'n baie om te tik as ons wil net hê
iets eenvoudig soos 'n struktuur.
Ons wil have-- ons wil in staat wees om te werk met dinge
'n bietjie meer snelskrif manier, soos int of char, iets wat 'n baie
meer gerieflik om te tik.
>> Gelukkig is daar ' 'n manier om dit te doen in C,
met iets typedef genoem, wat 'n manier om te skep of herskryf snelskrif
name vir data tipes.
Jy kan data herskryf tipes wat reeds bestaan,
of jy kan data tipes jou eie te skryf.
>> Die eerste ding wat jy doen, is jy definieer 'n soort in die normale manier,
en dan kan jy net alias dit na iets else-- typedef ou naam nuwe naam.
Redelik eenvoudig, reg?
Sodat ons kan typedef byvoorbeeld die reeds bestaande data
tipe unsigned char as byte.
En dan, van nou af, nadat ons het weer het hierdie tipe definition--,
wat gewoonlik gaan wees op die top van ons dot C lêers, of in 'n dot H lêer
afsonderlik, ons kan net gebruik byt oral
ons sou gebruik unsigned char.
Dit is 'n baie korter te tik.
>> In die biblioteek CS50 se ons this-- doen ons typedef char ster as string.
Omdat ons onttrek weg van die idee van wysers.
En die feit dat 'n string is regtig 'n verwysing na die eerste character--
'n verskeidenheid van die karakters, want dit is net
so verwarrend om jou kop te kry om that-- maar in werklikheid is dit wat ons doen.
En die lyn van die kode werklik bestaan in CS50 dot H typedef char star string,
net dat 'n bietjie minder te maak omslagtig te hê om te hanteer.
Reeds het jy waarskynlik 'n gesien bietjie van die waarde hier
maar typedef word groot wanneer dit gekombineer met strukture,
soos ek vroeër verwys het.
Strukture het 'n twee-woord tik naam.
En so het hulle kan regtig irriterende veranderlikes van daardie tipe te skep,
of [onhoorbaar] van struct iets jou lyne kan net kry regtig, regtig lank.
En so kan jy typedef gebruik om te kom met iets wat 'n baie korter.
>> So as ek definieer 'n motor soos volg, ek het my definisie van 'n car-- struct motor,
en dan oop krullerige brace, al die velde van my struktuur,
naby krullerige brace, semi-colon-- nadat ek my data tipe het gedefinieer,
Ek kan struct typedef motor motor underscore t.
En dan wanneer ek dit gedoen het, nou al tyd wat ek andersins sou gebruik struct
motor, kan ek net gebruik motor underscore t.
Dit is 'n baie korter van 'n manier om druk hierdie idee van hierdie struktuur
dat ek net gemaak.
>> Alternatiewelik, want strukture is so algemeen gebruik word in typedef,
daar is a-- jy eintlik kan definieer die tik in tussen die begin en die einde.
So die typedef struktuur is weer gewoonlik typedef, ou naam, nuwe naam,
waar die name reeds tipes wat jy geskep het.
Maar jy kan eintlik 'n struktuur te definieer reg in die middel van die typedef
in plaas van om te definieer dit afsonderlik en dan
doen 'n typedef daarvan.
En dit sou lyk net soos this-- typedef struct motor,
oop krullerige brace, al jou veld definisies, naby krullerige brace, 'n motor t.
So die ou naam is al daardie dinge in die rooi, is jy net die definisie van die struktuur
en noem dit op dieselfde tyd.
En dan is die nuwe naam is die motor underscore t.
En so as ons begin om te gebruik dit in kode, wat voorheen I
sou gesê struct motor mycar semi-kolon.
Wel, ek het nie meer doen.
Nou dat ek die typedef gebruik het, het ek kan net sê die motor underscore t, mycar.
Dit is 'n baie korter van 'n manier om dit te doen, en in die feit, dit is
gaan 'n baie meer wees gerieflik, veral
as jy begin om strukture te gebruik 'n baie meer in jou kode.
>> Ek is Doug Lloyd.
Dit is CS50.