DOGS LOIDS: Tātad, ja esat redzējis mūsu video par struktūrām, jūs
jau zināt, ka mums ir iespēja definēt savus datu tipus.
Bet, ja esat izmantojis struktūras, jūs zināt, ka dažkārt šo datu
tipu izmantošana var būt nedaudz apgrūtinoša, jo mums, strādājot ar
tiem, ir jāizmanto atslēgvārds struct — struct car vai struct
student.
Ir jāievada daudz informācijas, ja mēs vienkārši vēlamies iegūt kaut
ko vienkāršu, piemēram, struktūru.
Mēs vēlamies, lai būtu — mēs vēlamies, lai varētu strādāt ar lietām
nedaudz saīsinātā veidā, piemēram, int vai char, ar kaut ko, ko ir
daudz ērtāk uzrakstīt.
Par laimi, ir veids, kā to izdarīt C valodā, izmantojot to, ko sauc
par typedef, kas ir veids, kā izveidot saīsinātus vai pārrakstītus
datu tipu nosaukumus.
Varat pārrakstīt jau esošos datu tipus vai arī rakstīt savus datu
tipus.
Vispirms jūs definējat tipuparastajā veidā un pēc tam vienkārši
aizstājat to ar kaut ko citu — typedef old name new name.
Diezgan vienkārši, vai ne?
Tātad mēs varētu ierakstīt, piemēram, jau esošo datu tipu ar
neparakstītu rakstzīmi kā baitu.
Un turpmāk, kad būsim izveidojuši šī tipa definīciju — atkal, kas
parasti atrodas mūsu punkta C failu augšdaļā vai arī H failā
atsevišķi, mēs varam izmantot baitu visur, kur vien esam izmantojuši
neparakstītu rakstzīmi.
Tas ir daudz īsāks, lai rakstītu.
CS50 bibliotēkā mēs to darām — kā virkni ierakstām char star.
Jo mēs abstrahējām norādes ideju.
Un fakts, ka virkne patiešām ir rādītājs uz pirmo rakstzīmi —
rakstzīmju masīvs, ir tik mulsinoši
Un šī koda rindiņa faktiski pastāv CS50 dot H typedef char star
virknē, lai to padarītu mazāk apgrūtinošu.
Jūs, iespējams, jau esat redzējis mazliet šīs vērtības, taču typedef
kļūst lielisks, ja to apvieno ar struktūrām, kā jau minēju iepriekš.
Struktūrām ir divu vārdu tipa nosaukums.
vai [nedzirdams] of struct kaut kas, jūsu
rindas var kļūt ļoti, ļoti garas.
Un tāpēc jūs varat izmantot typedef, lai izdomātu kaut ko daudz īsāku.
Tātad, ja es definēju car šādi, man ir sava car definīcija — car
struct un pēc tam — atvērt figūiekavu, visi manas struktūras lauki,
aizvērt figūiekavu, semikols — pēc tam, kad esmu definējis savu
datutipu , es varu rakstīt definīciju struct car as car underscore t.
Un tad, kad esmu to izdarījis, tagad katru reizi, kad citādi būtu
izmantojis struct car, es varu vienkārši izmantot car underscore t.
Tas ir daudz īsāks veids, kā izteikt šo ideju par šo manis tikko
izveidoto struktūru.
Alternatīvi, tā kā struktūras ir tik bieži izmantotas typedef, ir
iespēja definēt tipu starp sākumu un beigām.
Tātad typedef struktūra parasti ir typedef, vecais nosaukums, jaunais
nosaukums, kur nosaukumi jau ir jūsu izveidotie tipi.
Bet jūs faktiski varat definēt struktūru tieši typedef vidū, nevis to
definēt atsevišķi, un pēc tam veikt to typedef.
Un tas izskatītos tieši šādi — typedef struct car, atvērt figūriekavu
krokains kronšteins, visas jūsu lauka definīcijas, aizvērt
figūriekavu, car t.
Tātad vecais nosaukums ir sarkanā krāsā, jūs vienkārši definējat
struktūru un vienlaikus nosaucat to.
Un tad jaunais nosaukums ir car underscore t.
Un tāpēc, ja mēs sākam to izmantot kodā, iepriekš es varētu teikt,
struct car mycar.semi-colon.
Nu man tas vairs nav jādara.
Tagad, kad esmu izmantojis typedef, varu vienkārši pateikt car
pasvītrojumu t, mycar.
Tas ir daudz īsāks veids, kā to izdarīt, un patiesībā tas būs daudz
ērtāk, jo īpaši tāpēc, ka kodā sākat izmantot struktūras daudz
vairāk.
Es esmu Dags Loids.
Šis ir CS50.