>> SPIKA 1: Hebu sasa kurekebisha kwamba mpango mwisho.
Na wakati huu, hebu wazi kutenga baadhi ya kumbukumbu ambayo
pembejeo mtumiaji kuhifadhiwa.
Kwa kufanya hivyo, hebu hone katika juu ya kwamba kwanza mstari wa kanuni ambapo sisi alitangaza s
awali kuwa nyota char.
Wakati huu, hebu re-kutangaza ni kama ifuatavyo -
char s bracket 16, kwa mfano, karibu bracket.
>> Kwa maneno mengine, hebu kutangaza s hakuna tena anwani ya tabia,
lakini badala safu ya herufi 16.
Kwa njia hii, user unaweza aina katika hadi 15 wahusika na bado kuondoka chumba kwa
null Terminator.
Hebu kuendelea na Ila, kukusanya, na kuendesha mpango huu.
Kufanya scanf2 dot slash scanf2.
Hebu sasa aina kamba kama hello, na sisi ni shukrani kwa hello.
>> Sasa, bado kuna tatizo.
Mimi tu typed katika hello, ambayo ni tu wahusika tano, pamoja na 1 kwa null
Terminator.
Ni zinatuacha na tu haja ya ka sita.
>> Lakini kwa bahati mbaya, sisi tu zilizotengwa kwa ajili 16 katika jumla.
Hivyo kama user kweli aina katika 16 wahusika, au 17, au mia kadhaa
wahusika, bado tuko si kwenda na nafasi ya kutosha katika kumbukumbu kwa ajili ya
mtumiaji pembejeo.
Na kwa kweli, hii ni nini hufanya kupata pembejeo user hivyo
vigumu kwa ujumla.
Na kwa kweli, hii ni kwa nini sisi kutekelezwa kupata kamba kazi katika kwanza
mahali katika maktaba CS50 -
kufikiri jinsi ya kushughulikia wale hali ambapo aina ya mtumiaji katika
wahusika zaidi ya sisi awali kutarajia.
>> Kusema ukweli, bila kabisa marudio ya andiko mpango huu,
kuna ufumbuzi hakuna safi.
Badala yake, nini tunataka kufanya ni kupata tabia ya kutoka kwa mtumiaji mmoja katika
wakati, tena na tena.
Na katika kila hatua kama sisi kutambua sisi ni nje ya kumbukumbu, tunataka kuwa na katika
uhakika kwamba kwenda nyuma na reallocate baadhi ya kumbukumbu zaidi, nakala mtumiaji
pembejeo uliopita kutoka chunk wetu wa kwanza ya kumbukumbu ndani ya mwezi,
chunk kubwa ya kumbukumbu.
Na kisha kurudia utaratibu kwamba tena na tena mpaka user ni kufanyika kutoa
pembejeo yake.