>> SIARADWR 1: Dewch i ysgrifennu rhaglen sy'n annog y defnyddiwr ar gyfer enwau a
tai o dri myfyriwr.
Nawr, er mwyn storio enwau a tai hynny gallem ddefnyddio, beth, chwe newidynnau.
Tri llinynnau am enwau, ac un arall tri dannau am y tai,
ond rydym eisoes yn gwybod y gallwn lanhau cod hwnnw trwy ddefnyddio araeau yn lle hynny,
er enghraifft amrywiaeth o faint 3 ar gyfer y dri enw, ac amrywiaeth arall o
maint 3 am y tai.
Ond mae'n troi allan y gallwn glanhau hyn i fyny ymhellach o hyd, ac mewn gwirionedd yn cadw y rhai
enwau a thai at ei gilydd, fel bod enw'r myfyriwr a'i dĹˇ
wedi'u cynnwys rhywsut, felly i siarad, i mewn i'r un newidyn.
>> I wneud hyn, fodd bynnag, mae angen i ddatgan ein math data hunain, mae ein math hunain yn C,
nad yw awduron C oedd o reidrwydd yn meddwl o flynyddoedd yn Ă´l.
Er mwyn gwneud hyn gallwn ddefnyddio'r gair allweddol typedef, ynghyd Ă˘'r
strwythur gair allweddol eraill.
Gadewch i gymryd golwg.
Y tu mewn o structs.h, rydw i wedi eisoes gotten a ddechreuwyd gan
gan gynnwys y llyfrgell CS50.
Rydw i'n nesaf yn mynd i deipio typedef strwythur, ac yna Brace cyrliog.
Tu mewn i'r strwythur, dw i'n mynd i nodi y bydd myfyriwr yn cael
llinyn a elwir yn enw, ac un arall llinyn o'r enw tĹˇ.
Rydw i'n mynd i wedyn yn cau fy braces cyrliog, ac yn nodi bod enw'r
Bydd y math hwn o ddata newydd yn fyfyriwr.
Mewn geiriau eraill, trwy cystrawen hwn rhaid i mi datgan math data newydd o fy mhen fy hun
nad oedd yn bodoli funud yn Ă´l, a y tu mewn o'r math hwn o ddata yn ddau data
gaeau neu aelodau data, un o'r enw enw, un tĹˇ o'r enw, y ddau ohonynt
o fath llinyn.
>> Gadewch i ni yn awr yn defnyddio'r math hwn mewn rhaglen go iawn.
Yn structs0.c, rwyf wedi gotten yn yr un modd fy hun wedi dechrau yn barod gyda rhai
cod boilerplate, ac rwy'n yn awr mynd i ddefnyddio'r data hwn
deipio myfyriwr, fel a ganlyn.
Rydw i'n mynd gyntaf i ddatgan amrywiaeth o myfyriwr math, 'n annhymerus'
ffoniwch y myfyrwyr amrywiaeth -
lluosog -
a byddaf yn nodi y bydd ei faint yn tri, sydd, rhybudd, yw gwerth
y MYFYRWYR gyson -
yn yr holl lythrennau -
fy mod i wedi datgan i fyny yma, yn gynharach yn y ffeil.
Gadewch i ni yn awr ailadrodd dros gyfnod o dair y rhai myfyrwyr, ac yn annog y defnyddiwr ar gyfer
eu henwau a thai.
>> ar gyfer int fi gael 0, fi yn llai na hynny gyson, i + +.
Ac yn awr tu mewn i'r corff hyn ar gyfer dolen, dw i'n mynd i argraffu rhywbeth
debyg i enw myfyriwr.
Yna yr wyf i'n mynd i gael mewn gwirionedd fod Enw'r myfyriwr trwy nodi
myfyrwyr braced i.
Mewn geiriau arall yr wyf am i'r myfyriwr i-fed yn yr arae o'r enw myfyrwyr, ond erbyn hyn
Rwyf am gael ar y i-fed myfyriwr enw, ac er mwyn gwneud hyn, yr wyf i'n mynd i ddefnyddio
yr. gweithredwr, er mwyn cael ar tu mewn maes penodol o'r strwythur.
Felly, yr wyf yn nodi myfyrwyr braced i. Enw cael y gwerth dychwelyd GetString ().
Yn y cyfamser, yr wyf i'n mynd i'w hargraffu rhywbeth tebyg, gan ddweud myfyriwr
tĹˇ, ac yn awr yr wyf i'n mynd i bennu bod y cae myfyrwyr ty i-fed
Bydd cael y gwerth dychwelyd alwad arall i GetString ().
>> Nawr, gadewch i ni wneud rhywbeth gyda thri hyn enwau a thai myfyrwyr,
rhywbeth syml fel argraffu pob allan mewn brawddeg.
ar gyfer int i gael 0, unwaith eto i yn llai na myfyrwyr, i + +, printf "% s yn% s.
slaes n ", ac yn awr gadewch i mi plwg yn gwerthoedd y ddau faes,
myfyrwyr braced i. enw, coma, myfyrwyr braced i. dĹˇ, yn agos
paren, hanner colon.
>> Ac yn awr mae angen i mi wneud un peth arall.
Ar waelod y ffeil, mae angen i fi rhad ac am ddim y cof a ddyrannwyd
y tu Ă´l i'r llenni gan GetSring (), sy'n wrth gwrs yn galw malloc, er mwyn
dyrannu cof ar gyfer y tannau y mathau o ddefnyddwyr.
Ond i hyn yn syml.
ar gyfer int fi gael 0, fi yn llai na myfyrwyr, i + +, ac y tu mewn i'r corff
hon ar gyfer dolen, rwy'n dim ond yn mynd i darparu myfyrwyr braced rhad ac am ddim i. enw,
a myfyrwyr am ddim braced i. tĹˇ.
>> Nawr, rydym wedi defnyddio glir tri ar gyfer dolenni yn y rhaglen hon, pan mewn gwirionedd yr wyf yn
allai fod wedi defnyddio dim ond un, ond mae hyn yn dim ond er mwyn arddangos, fel bod
gallwn nodi mewn tair gwahanol camau beth yn union rydym yn ei wneud.
Rydym yn cael enw a thĹˇ gyntaf gyfer pob un o'r myfyrwyr, rydym yn yna
argraffu enw a y tĹˇ am pob un o'r tri myfyriwr, a
yna rydym yn mynd i ryddhau'r cof a ddefnyddir gan bob un o'r myfyrwyr.
Ond yn sicr y gallai rydym wedi cyfuno hyn yn un fwy ar gyfer ddolen.
>> Gadewch i ni yn awr yn arbed, crynhoi, a rhedeg y rhaglen hon.
gwneud structs 0. / structs 0, myfyriwr enw, gadewch i ni ddarparu David, bydd yn byw
yn Mather House, enw'r myfyriwr, gadewch i ni dweud Lauren, bydd hi'n byw yn Leverett
TĹˇ, enw'r myfyriwr, Rob, fe annhymerus ' yn byw yn Kirkland House.
Ac yn wir, mae David yn Mather, Lauren yn Leverett,
a Rob yn Kirkland.