SPEAKER 1: Ejja jikteb programm li iqajjem l-utent għall-ismijiet u djar ta 'tliet studenti. Issa, li taħżen din l-ismijiet u djar nistgħu jużaw, liema, sitt varjabbli. Tliet kordi għall-ismijiet, u ieħor tliet kordi għall-djar, iżda aħna diġà jafu li nistgħu tnaddaf dan il-kodiċi bl-użu arrays minflok, per eżempju firxa ta 'daqs 3 għall- tliet ismijiet u firxa oħra ta ' daqs 3 għall-djar. Iżda jirriżulta nistgħu tnaddaf dan up aktar għadha, u attwalment iżommu dawk ismijiet u djar flimkien, b'tali mod li Isem istudent u d-dar tiegħu jew tagħha b'xi mod huma inkapsulati, hekk li jitkellmu, fl-istess varjabbli. Biex tagħmel dan, għalkemm, għandna bżonn li jiddikjaraw stess tip data tagħna, tip tagħna stess fis-C, li l-awturi ta 'C ma neċessarjament think ta 'snin ilu. Biex tagħmel dan nistgħu nużaw l-keyword typedef, flimkien mal- Struct ieħor keyword. Ejja tagħti ħarsa. Ġewwa ta structs.h, stajt diġà gotten beda billi inkluż il-librerija CS50. Jien jmiss ser tip Istituzzjonjijiet typedef, u mbagħad Brace kaboċċi. Ġewwa tal-Struct, jien ser jispeċifikaw li student għandu jkollu string imsejħa isem, u ieħor string imsejħa house. Jien ser mbagħad mill-qrib ċineg kaboċċi tiegħi, u tispeċifika li l-isem ta ' dan it-tip ta 'dejta ġdid għandu jkun student. Fi kliem ieħor, permezz ta 'din sintassi jkollhom I ddikjarat tip data ġdid ta 'tiegħi stess li ma kinux jeżistu mument ilu, u ġewwa ta 'dan it-tip data huma żewġ data oqsma jew membri tad-data, wieħed imsejjaħ isem, imsejħa house wieħed, tnejn minnhom huma ta 'string tip. Ejja issa jużaw dan it-tip fi programm attwali. Fil structs0.c, stajt gotten simili myself beda diġà ma 'xi kodiċi boilerplate, u jien issa ser tuża din id-data tip student, kif ġej. Jien l-ewwel ser jiddikjara firxa ta 'tip student, I ser sejħa l-istudenti array - plural - u jien ser tispeċifika li d-daqs tagħha ser tkun tlieta, li, avviż, huwa l-valur tal- L-istudenti kostanti - fil-kapitali - li stajt ddikjarat up here, aktar kmieni fil-fajl. Ejja issa jtenni matul dawk it-tliet istudenti, u fil-pront l-utent għall- ismijiet tagħhom u djar. għall int i tikseb 0, i huwa inqas minn dak kostanti, i + +. U issa ġewwa tal-ġisem ta 'dan għal loop, jien ser jistampa xi ħaġa bħall-isem istudent. Jien imbagħad ser fil-fatt tikseb dak Isem istudent billi tispeċifika istudenti parentesi i. Fi kliem ieħor Irrid li l-istudent i-th fil-firxa imsejħa istudenti, iżda issa I rridu nġibu f'dak i-th istudent isem, u biex tagħmel dan, jien ser jużaw l. operatur, sabiex jiksbu fi ġewwa qasam speċifiku tal-Struct. So I jispeċifika istudenti parentesi i. Isem jiġrilha l-valur tar-ritorn tal GetString (). Sadanittant, jien ser jistampa xi ħaġa simili, qal li student house, u issa jien ser tispeċifika li l-kamp istudenti house i-th għandhom jiksbu l-valur tar-ritorn tal- sejħa oħra għall GetString (). Issa ejja tagħmel xi ħaġa ma dawn it-tliet ismijiet u djar istudenti, xi ħaġa sempliċi bħal stampar kull out fil-sentenza. għall int i nikseb 0, għal darb'oħra i huwa inqas minn istudenti, i + +, printf "% s huwa% s. n backslash ", u issa let me plagg fil il-valuri ta 'dawn iż-żewġ oqsma, istudenti parentesi i. isem, comma, istudenti parentesi i. house, qrib paren, virgola. U issa I bżonn tagħmel ħaġ'oħra. Fil-qiegħ ta 'dan il-fajl, I bżonn ħielsa l-memorja li kien allokat wara l-kwinti mill GetSring (), li naturalment jitlob malloc, sabiex talloka memorja għall-kordi it-tipi utent. Iżda dan huwa sempliċi. għall int i tikseb 0, i huwa inqas minn istudenti, i + +, u ġewwa l-korp ta ' dan għal loop, jien sempliċiment se jipprovdu free istudenti bracket i. isem, u l-istudenti ħielsa jibbrakitjaw i. house. Issa, aħna ħadthom użati b'mod ċar tlieta għal-linji f'dan il-programm, meta verament I setgħet biss użati wieħed, iżda dan huwa biss għall-finijiet ta 'dimostrazzjoni tal, b'tali mod li nistgħu jispeċifikaw fi tliet distinti passi eżattament dak li aħna qed tagħmel. Aħna qed jkollna l-ewwel isem u dar għal kull wieħed mill-istudenti, aħna mbagħad istampar l-isem u l-dar għall- kull wieħed mit-tliet studenti, u allura aħna qed tmur biex ħielsa l-memorja użati minn kull wieħed mill-istudenti. Iżda żgur nistgħu ħadthom jikkombinaw dan f'waħda akbar għal loop. Ejja issa jiffranka, tiġbor, u run dan il-programm. jagħmlu structs 0. / structs 0, student isem, ejja jipprovdu David, hu ser jgħixu fil Mather House, l-isem istudent, ejja jgħidu Lauren, hi ser jgħixu fl Leverett House, l-isem istudent, Rob, hu ser jgħixu fil Kirkland House. U fil-fatt, David huwa Mather, Lauren huwa Leverett, u Rob huwa Kirkland.