2 00:00:00,000 --> 00:00:02,760 >> SPEAKER 1: Ejja jikteb programm li iqajjem l-utent għall-ismijiet u 3 00:00:02,760 --> 00:00:04,700 djar ta 'tliet studenti. 4 00:00:04,700 --> 00:00:08,840 Issa, li taħżen din l-ismijiet u djar nistgħu jużaw, liema, sitt varjabbli. 5 00:00:08,840 --> 00:00:12,260 Tliet kordi għall-ismijiet, u ieħor tliet kordi għall-djar, 6 00:00:12,260 --> 00:00:16,560 iżda aħna diġà jafu li nistgħu tnaddaf dan il-kodiċi bl-użu arrays minflok, 7 00:00:16,560 --> 00:00:20,220 per eżempju firxa ta 'daqs 3 għall- tliet ismijiet u firxa oħra ta ' 8 00:00:20,220 --> 00:00:22,110 daqs 3 għall-djar. 9 00:00:22,110 --> 00:00:25,870 Iżda jirriżulta nistgħu tnaddaf dan up aktar għadha, u attwalment iżommu dawk 10 00:00:25,870 --> 00:00:30,520 ismijiet u djar flimkien, b'tali mod li Isem istudent u d-dar tiegħu jew tagħha 11 00:00:30,520 --> 00:00:34,940 b'xi mod huma inkapsulati, hekk li jitkellmu, fl-istess varjabbli. 12 00:00:34,940 --> 00:00:39,095 >> Biex tagħmel dan, għalkemm, għandna bżonn li jiddikjaraw stess tip data tagħna, tip tagħna stess fis-C, 13 00:00:39,095 --> 00:00:42,660 li l-awturi ta 'C ma neċessarjament think ta 'snin ilu. 14 00:00:42,660 --> 00:00:45,630 Biex tagħmel dan nistgħu nużaw l-keyword typedef, flimkien mal- 15 00:00:45,630 --> 00:00:47,200 Struct ieħor keyword. 16 00:00:47,200 --> 00:00:48,160 Ejja tagħti ħarsa. 17 00:00:48,160 --> 00:00:50,650 Ġewwa ta structs.h, stajt diġà gotten beda billi 18 00:00:50,650 --> 00:00:52,560 inkluż il-librerija CS50. 19 00:00:52,560 --> 00:00:57,640 Jien jmiss ser tip Istituzzjonjijiet typedef, u mbagħad Brace kaboċċi. 20 00:00:57,640 --> 00:01:01,370 Ġewwa tal-Struct, jien ser jispeċifikaw li student għandu jkollu 21 00:01:01,370 --> 00:01:04,960 string imsejħa isem, u ieħor string imsejħa house. 22 00:01:04,960 --> 00:01:08,430 Jien ser mbagħad mill-qrib ċineg kaboċċi tiegħi, u tispeċifika li l-isem ta ' 23 00:01:08,430 --> 00:01:11,420 dan it-tip ta 'dejta ġdid għandu jkun student. 24 00:01:11,420 --> 00:01:15,550 Fi kliem ieħor, permezz ta 'din sintassi jkollhom I ddikjarat tip data ġdid ta 'tiegħi stess 25 00:01:15,550 --> 00:01:19,910 li ma kinux jeżistu mument ilu, u ġewwa ta 'dan it-tip data huma żewġ data 26 00:01:19,910 --> 00:01:24,270 oqsma jew membri tad-data, wieħed imsejjaħ isem, imsejħa house wieħed, tnejn minnhom 27 00:01:24,270 --> 00:01:25,630 huma ta 'string tip. 28 00:01:25,630 --> 00:01:27,690 >> Ejja issa jużaw dan it-tip fi programm attwali. 29 00:01:27,690 --> 00:01:30,210 30 00:01:30,210 --> 00:01:34,090 Fil structs0.c, stajt gotten simili myself beda diġà ma 'xi 31 00:01:34,090 --> 00:01:36,999 kodiċi boilerplate, u jien issa ser tuża din id-data 32 00:01:36,999 --> 00:01:39,100 tip student, kif ġej. 33 00:01:39,100 --> 00:01:42,450 Jien l-ewwel ser jiddikjara firxa ta 'tip student, I ser 34 00:01:42,450 --> 00:01:43,920 sejħa l-istudenti array - 35 00:01:43,920 --> 00:01:44,630 plural - 36 00:01:44,630 --> 00:01:49,360 u jien ser tispeċifika li d-daqs tagħha ser tkun tlieta, li, avviż, huwa l-valur tal- 37 00:01:49,360 --> 00:01:50,880 L-istudenti kostanti - 38 00:01:50,880 --> 00:01:51,890 fil-kapitali - 39 00:01:51,890 --> 00:01:54,930 li stajt ddikjarat up here, aktar kmieni fil-fajl. 40 00:01:54,930 --> 00:01:58,280 Ejja issa jtenni matul dawk it-tliet istudenti, u fil-pront l-utent għall- 41 00:01:58,280 --> 00:02:00,050 ismijiet tagħhom u djar. 42 00:02:00,050 --> 00:02:05,422 >> għall int i tikseb 0, i huwa inqas minn dak kostanti, i + +. 43 00:02:05,422 --> 00:02:08,600 U issa ġewwa tal-ġisem ta 'dan għal loop, jien ser jistampa xi ħaġa 44 00:02:08,600 --> 00:02:11,470 bħall-isem istudent. 45 00:02:11,470 --> 00:02:14,890 Jien imbagħad ser fil-fatt tikseb dak Isem istudent billi tispeċifika 46 00:02:14,890 --> 00:02:17,290 istudenti parentesi i. 47 00:02:17,290 --> 00:02:21,550 Fi kliem ieħor Irrid li l-istudent i-th fil-firxa imsejħa istudenti, iżda issa 48 00:02:21,550 --> 00:02:25,340 I rridu nġibu f'dak i-th istudent isem, u biex tagħmel dan, jien ser jużaw 49 00:02:25,340 --> 00:02:30,160 l. operatur, sabiex jiksbu fi ġewwa qasam speċifiku tal-Struct. 50 00:02:30,160 --> 00:02:37,100 So I jispeċifika istudenti parentesi i. Isem jiġrilha l-valur tar-ritorn tal GetString (). 51 00:02:37,100 --> 00:02:40,310 Sadanittant, jien ser jistampa xi ħaġa simili, qal li student 52 00:02:40,310 --> 00:02:45,410 house, u issa jien ser tispeċifika li l-kamp istudenti house i-th 53 00:02:45,410 --> 00:02:49,480 għandhom jiksbu l-valur tar-ritorn tal- sejħa oħra għall GetString (). 54 00:02:49,480 --> 00:02:52,350 >> Issa ejja tagħmel xi ħaġa ma dawn it-tliet ismijiet u djar istudenti, 55 00:02:52,350 --> 00:02:56,230 xi ħaġa sempliċi bħal stampar kull out fil-sentenza. 56 00:02:56,230 --> 00:03:07,580 għall int i nikseb 0, għal darb'oħra i huwa inqas minn istudenti, i + +, printf "% s huwa% s. 57 00:03:07,580 --> 00:03:12,600 n backslash ", u issa let me plagg fil il-valuri ta 'dawn iż-żewġ oqsma, 58 00:03:12,600 --> 00:03:19,055 istudenti parentesi i. isem, comma, istudenti parentesi i. house, qrib 59 00:03:19,055 --> 00:03:21,290 paren, virgola. 60 00:03:21,290 --> 00:03:23,020 >> U issa I bżonn tagħmel ħaġ'oħra. 61 00:03:23,020 --> 00:03:26,600 Fil-qiegħ ta 'dan il-fajl, I bżonn ħielsa l-memorja li kien allokat 62 00:03:26,600 --> 00:03:30,290 wara l-kwinti mill GetSring (), li naturalment jitlob malloc, sabiex 63 00:03:30,290 --> 00:03:32,500 talloka memorja għall-kordi it-tipi utent. 64 00:03:32,500 --> 00:03:35,720 Iżda dan huwa sempliċi. 65 00:03:35,720 --> 00:03:42,610 għall int i tikseb 0, i huwa inqas minn istudenti, i + +, u ġewwa l-korp ta ' 66 00:03:42,610 --> 00:03:48,670 dan għal loop, jien sempliċiment se jipprovdu free istudenti bracket i. isem, 67 00:03:48,670 --> 00:03:52,300 u l-istudenti ħielsa jibbrakitjaw i. house. 68 00:03:52,300 --> 00:03:55,620 >> Issa, aħna ħadthom użati b'mod ċar tlieta għal-linji f'dan il-programm, meta verament I 69 00:03:55,620 --> 00:03:58,800 setgħet biss użati wieħed, iżda dan huwa biss għall-finijiet ta 'dimostrazzjoni tal, b'tali mod li 70 00:03:58,800 --> 00:04:02,850 nistgħu jispeċifikaw fi tliet distinti passi eżattament dak li aħna qed tagħmel. 71 00:04:02,850 --> 00:04:06,120 Aħna qed jkollna l-ewwel isem u dar għal kull wieħed mill-istudenti, aħna mbagħad 72 00:04:06,120 --> 00:04:08,900 istampar l-isem u l-dar għall- kull wieħed mit-tliet studenti, u 73 00:04:08,900 --> 00:04:11,910 allura aħna qed tmur biex ħielsa l-memorja użati minn kull wieħed mill-istudenti. 74 00:04:11,910 --> 00:04:15,310 Iżda żgur nistgħu ħadthom jikkombinaw dan f'waħda akbar għal loop. 75 00:04:15,310 --> 00:04:18,650 >> Ejja issa jiffranka, tiġbor, u run dan il-programm. 76 00:04:18,650 --> 00:04:26,850 jagħmlu structs 0. / structs 0, student isem, ejja jipprovdu David, hu ser jgħixu 77 00:04:26,850 --> 00:04:31,580 fil Mather House, l-isem istudent, ejja jgħidu Lauren, hi ser jgħixu fl Leverett 78 00:04:31,580 --> 00:04:36,590 House, l-isem istudent, Rob, hu ser jgħixu fil Kirkland House. 79 00:04:36,590 --> 00:04:39,440 U fil-fatt, David huwa Mather, Lauren huwa Leverett, 80 00:04:39,440 --> 00:04:40,810 u Rob huwa Kirkland. 81 00:04:40,810 --> 00:04:43,425