Doug LLOYD: Dakle, ako ste vidjeli naše video na strukturama,
vi već znate da imamo Sposobnost definirati vlastite vrste podataka.
Ali, ako ste koristili strukture, znate da ponekad koristi one vrste podataka
zapravo može biti malo težak jer smo
moraju koristiti struct ključnu riječ kada radimo s them--
struct automobila ili struct student.
To je puno tipkati ako mi samo želimo da
nešto jednostavno, poput strukture.
Želimo have-- želimo biti u mogućnosti da rade sa stvarima
malo više stenogram način, poput int ili char, nešto puno
više prikladan za upisati.
>> Srećom, tu je način to učiniti u C,
s nečim što se zove typedef, koji je način za stvaranje stenogram ili prepisivati
imena za vrste podataka.
Možete prepisati podatke vrste koje već postoje,
ili možete pisati vrste podataka od svoje vlastite.
>> Prva stvar koju trebate učiniti je definirati tip na normalan način,
i onda samo ga alias nešto else-- typedef staro ime novo ime.
Prilično jednostavno, zar ne?
Tako smo mogli typedef primjerice, već postojeći podaci
tip unsigned char kao bajt.
A onda, od sada, nakon što imamo napravio taj tip opet definition--,
koja se obično će biti na vrhu naših točaka C datoteke, ili u dot H datoteke
zasebno, možemo samo koristiti gristi svugdje
mi bi koristili unsigned char.
To je puno kraći upisati.
>> U CS50 knjižnici, mi this-- napraviti smo typedef char zvijezdu kao string.
Budući da smo sažeto daleko ideja upućuje.
A činjenica da je niz stvarno pokazivač na prvi character--
niz znakova, jer to je samo
tako zbunjujuće dobiti svoju glavu okolo that-- ali u stvari to je ono što mi radimo.
I ova linija koda zapravo postoji u CS50 Dot H typedef char zvjezdice nizu,
samo da bi to malo manje nezgrapan morati baviti.
Već ste vidjeli vjerojatno malo vrijednosti ovdje,
ali typedef postaje super u kombinaciji s strukturama,
kao što sam aludirao na ranije.
Građevine imaju tipa dvije riječi ime.
I tako oni mogu biti vrlo neugodno stvoriti varijable te vrste,
ili [nečujan] od struct nešto, vaš Linije mogu samo dobiti jako, jako dugo.
I tako da možete typedef koristiti doći s nešto puno kraće.
>> Dakle, ako sam definirati automobil na sljedeći, imam moja definicija car-- struct automobila,
a zatim otvorite kovrčavu braće, svi polja moje strukture,
blizu kovrčava braće, polu-colon-- nakon što sam definirati svoju vrstu podataka,
Mogu typedef struct auto kao auto naglašavaju t.
I onda kad sam to učinio, sada svaki Vrijeme bih inače koristi struct
auto, ja mogu samo koristiti automobil donju t.
To je puno kraći od način da se izraziti ideju ove strukture
da sam samo stvorio.
>> Alternativno, jer konstrukcija su tako često koristi u typedef,
postoji A- možete zapravo definirati upišite između početka i kraja.
Dakle typedef struktura je ponovno obično typedef, staro ime, novo ime,
gdje su imena već Vrste koje ste stvorili.
Ali što se zapravo može definirati strukturu pravo u sredini typedef
umjesto da se definira to odvojeno, a zatim
napraviti typedef njega.
A to će izgledati baš kao i this-- typedef struct automobila,
otvoreni kovrčava braće, sve vaše polje definicije, u neposrednoj blizini kovrčave vitice, auto t.
Tako je stari naziv je sve to u crvena, ste samo definiranje strukture
i imenovanja istovremeno.
A onda je novo ime je automobil podcrtavanja t.
I tako, ako ćemo početi koristiti to koda, prethodno sam
možda rekao, struct auto mycar polu-debelog crijeva.
Pa ja ne moram raditi više.
Sada kada sam koristio typedef, ja mogu samo reći automobila donju t, mycar.
To je puno kraći od načina to učiniti, i zapravo, to je
će biti puno više zgodan, pogotovo
kao što počnete koristiti struktura puno više u kodu.
>> Ja sam Doug Lloyd.
Ovo je CS50.