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.