1 00:00:00,000 --> 00:00:00,340 2 00:00:00,340 --> 00:00:01,960 >> SPEAKER 1: Ejja issa jiffissaw dak il-programm li għadda. 3 00:00:01,960 --> 00:00:04,920 U din id-darba, ejja talloka b'mod espliċitu xi memorja li fiha l- 4 00:00:04,920 --> 00:00:06,550 input utent se jiġu maħżuna. 5 00:00:06,550 --> 00:00:09,600 Biex tagħmel dan, ejja Hone fl fuq l-ewwel linja tal-kodiċi fejn aħna iddikjarata s 6 00:00:09,600 --> 00:00:11,590 qabel li tkun stilla char. 7 00:00:11,590 --> 00:00:14,210 Din id-darba, ejja 'jiddikjara mill-ġdid huwa kif ġej - 8 00:00:14,210 --> 00:00:19,380 bracket 16 char i, per eżempju, parentesi magħluqa. 9 00:00:19,380 --> 00:00:23,690 >> Fi kliem ieħor, ejja tiddikjara s li xejn itwal għandu jkun indirizz ta 'karattru, 10 00:00:23,690 --> 00:00:26,610 iżda pjuttost firxa ta '16 karattri. 11 00:00:26,610 --> 00:00:30,295 Dan il-mod, l-utent tista 'tip sa 15 karattri u xorta jħallu lok għal 12 00:00:30,295 --> 00:00:31,570 a terminatur null. 13 00:00:31,570 --> 00:00:35,870 Ejja tipproċedi biex Save, jikkumpilaw, u Mexxi dan il-programm. 14 00:00:35,870 --> 00:00:40,770 Kun scanf2 scanf2 dot slash. 15 00:00:40,770 --> 00:00:45,100 Ejja issa tip string simili hello, u aħna qed irringrazzja għall-bonjour. 16 00:00:45,100 --> 00:00:46,440 >> Issa, hemm għadu problema. 17 00:00:46,440 --> 00:00:50,140 I biss ittajpjat fil hello, li huwa biss ħames karattri, flimkien 1 għall-null 18 00:00:50,140 --> 00:00:50,445 terminatur. 19 00:00:50,445 --> 00:00:53,610 Hija Jifdal biss ħtieġa għal sitt bytes. 20 00:00:53,610 --> 00:00:56,740 >> Iżda sfortunatament, aħna biss allokat 16 b'kollox. 21 00:00:56,740 --> 00:01:01,305 Mela jekk l-utent fil-fatt tipi fil-16 karattri, jew 17, jew diversi mijiet 22 00:01:01,305 --> 00:01:04,410 karattri, aħna qed għadhom mhux se jkollhom biżżejjed spazju fil-memorja għall- 23 00:01:04,410 --> 00:01:05,400 input utent. 24 00:01:05,400 --> 00:01:07,750 U fil-fatt, dan huwa dak li jagħmel jkollna input utent hekk 25 00:01:07,750 --> 00:01:08,940 diffiċli b'mod ġenerali. 26 00:01:08,940 --> 00:01:12,270 U fil-fatt, dan huwa għaliex aħna implimentati il-funzjoni string get fl-ewwel 27 00:01:12,270 --> 00:01:13,900 post fil-librerija CS50 - 28 00:01:13,900 --> 00:01:16,900 figura kif jimmaniġġjaw dawk sitwazzjonijiet fejn it-tipi utent fil 29 00:01:16,900 --> 00:01:19,710 karattri aktar minn we antiċipat fil-bidu. 30 00:01:19,710 --> 00:01:21,750 >> Franchement, mingħajr kompletament kitba mill-ġdid dan il-programm, 31 00:01:21,750 --> 00:01:23,290 hemm l-ebda soluzzjoni nadif. 32 00:01:23,290 --> 00:01:26,970 Pjuttost, dak li nixtiequ għandek tagħmel hu li tikseb karattru mill-utent wieħed kull 33 00:01:26,970 --> 00:01:28,860 time, u għal darb'oħra. 34 00:01:28,860 --> 00:01:32,510 U f'kull punt jekk aħna realizzata aħna qed tal-memorja, rridu naraw li fil- 35 00:01:32,510 --> 00:01:36,450 dak il-punt jmorru lura u jerġgħu jallokaw xi memorja aktar, kopja tal-l-utent 36 00:01:36,450 --> 00:01:39,400 input preċedenti mill-ewwel chunk tagħna tal-memorja fil-ġdida, 37 00:01:39,400 --> 00:01:40,810 blokki akbar ta 'memorja. 38 00:01:40,810 --> 00:01:44,610 U mbagħad irrepeti l-proċess mill-ġdid u mill-ġdid sakemm l-utent isir provvediment 39 00:01:44,610 --> 00:01:45,860 input tiegħu jew tagħha. 40 00:01:45,860 --> 00:01:48,246