>> 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.