2 00:00:00,000 --> 00:00:02,760 >> HIZLARIA 1: Dezagun idazteko programa bat da izenak eman erabiltzaileari eta galderak 3 00:00:02,760 --> 00:00:04,700 hiru ikasle-etxeak. 4 00:00:04,700 --> 00:00:08,840 Orain, izenak eta etxe horiek gordetzeko erabili izan dugu, zer, sei aldagai. 5 00:00:08,840 --> 00:00:12,260 Izenak hiru kateak, eta beste bat etxeak egiteko hiru kate, 6 00:00:12,260 --> 00:00:16,560 baina dagoeneko badakigu garbitu ahal izango dugu array erabiliz ordez kodea duten, 7 00:00:16,560 --> 00:00:20,220 esate baterako tamaina 3 array bat egiteko hiru izen eta array beste 8 00:00:20,220 --> 00:00:22,110 tamaina 3 etxeak egiteko. 9 00:00:22,110 --> 00:00:25,870 Baina bihurtzen da hau garbitu ahal izango dugu gehiago oraindik, eta benetan mantendu dutenei 10 00:00:25,870 --> 00:00:30,520 izenak eta etxe batera, horrela bat Ikaslearen izena eta bere etxea 11 00:00:30,520 --> 00:00:34,940 nolabait kapsulatzen dira, beraz hitz egiten dute, aldagai bera sartu. 12 00:00:34,940 --> 00:00:39,095 >> Horretarako, ordea, nahi aldarrikatu behar dugu Gure datu-mota egin, gure C mota egin, 13 00:00:39,095 --> 00:00:42,660 duten C egileek ez dute zertan Duela urte pentsatzea. 14 00:00:42,660 --> 00:00:45,630 Hori egiteko gako-erabili ahal izango dugu typedef, batera 15 00:00:45,630 --> 00:00:47,200 beste keyword egiturari. 16 00:00:47,200 --> 00:00:48,160 Ikus dezagun begirada bat. 17 00:00:48,160 --> 00:00:50,650 Structs.h barruan, dagoeneko dut ahaztuak hasitako 18 00:00:50,650 --> 00:00:52,560 CS50 liburutegia barne. 19 00:00:52,560 --> 00:00:57,640 Hurrengo naiz typedef struct idazten joan, eta, ondoren, kizkur giltza bat. 20 00:00:57,640 --> 00:01:01,370 Egitura, barruan, noa joan zehaztu ikasle bat jarriko dute bat 21 00:01:01,370 --> 00:01:04,960 izena katea deitu, eta beste bat etxea izeneko kate. 22 00:01:04,960 --> 00:01:08,430 Orduan itxi nire giltza kizkur noa, eta zehazten duten izena, 23 00:01:08,430 --> 00:01:11,420 datu-mota berri honek ikasleari izango da. 24 00:01:11,420 --> 00:01:15,550 Bestela esanda, sintaxi honen bidez daukat Datu nire mota berri bat izendatu 25 00:01:15,550 --> 00:01:19,910 existitzen ez duela une bat, eta datu mota honen barruan bi datuak dira 26 00:01:19,910 --> 00:01:24,270 eremuak edo datuak kideak, inork izena deitzen, etxea izeneko bat, biak ere 27 00:01:24,270 --> 00:01:25,630 mota katea dira. 28 00:01:25,630 --> 00:01:27,690 >> Dezagun mota hau erabili en orain benetako programa batean. 29 00:01:27,690 --> 00:01:30,210 30 00:01:30,210 --> 00:01:34,090 Structs0.c eta, era berean, ez dut ahaztuak Hasteko nire burua dagoeneko batzuk 31 00:01:34,090 --> 00:01:36,999 boilerplate kodea, eta naiz orain Datu hori erabiltzeko joan 32 00:01:36,999 --> 00:01:39,100 Ikasle idatzi, honela. 33 00:01:39,100 --> 00:01:42,450 Naiz lehen bat aldarrikatu joan mota ikaslearen array, dut egingo 34 00:01:42,450 --> 00:01:43,920 deituko array ikasleei - 35 00:01:43,920 --> 00:01:44,630 plural - 36 00:01:44,630 --> 00:01:49,360 eta zehaztu egingo dut, bere tamaina izango da hiru, hain zuzen, aldez aurretik abisatu, balioa da 37 00:01:49,360 --> 00:01:50,880 konstante ikasle - 38 00:01:50,880 --> 00:01:51,890 hiriburuetan guztietan - 39 00:01:51,890 --> 00:01:54,930 ditudan deklaratu hemen, fitxategia lehenago. 40 00:01:54,930 --> 00:01:58,280 Dezagun hiru horiek baino gehiago batetik bestera orain ikasleak, eta galdetuko erabiltzaileari 41 00:01:58,280 --> 00:02:00,050 beren izenak eta etxeak. 42 00:02:00,050 --> 00:02:05,422 >> int i get 0, txikiagoa da i konstante hori baino, i + +. 43 00:02:05,422 --> 00:02:08,600 Eta, orain, honen gorputza barrutik begizta, naiz zerbait inprimatu noa 44 00:02:08,600 --> 00:02:11,470 ikaslearen izena bezala. 45 00:02:11,470 --> 00:02:14,890 Naiz gero benetan gertatzen ari dela ikaslearen izena zehaztuz 46 00:02:14,890 --> 00:02:17,290 ikasleek parentesi i. 47 00:02:17,290 --> 00:02:21,550 Beste era batera esanda, i-garren ikaslearen nahi dut ikasleen izeneko array, baina orain 48 00:02:21,550 --> 00:02:25,340 Behar duten i-garren ikaslearen at lortu nahi dut izendatzeko, eta hori egin ahal izateko, erabili noa 49 00:02:25,340 --> 00:02:30,160 dute. operadorea, ordena batean lortu eremua egitura, barruan espezifikoak. 50 00:02:30,160 --> 00:02:37,100 Beraz zehaztu dut ikasle parentesi i. Izen bueltan GetString balioa lortzen (). 51 00:02:37,100 --> 00:02:40,310 Bien bitartean, nik inprimatu noa antzeko zerbait, ikaslearen esanez 52 00:02:40,310 --> 00:02:45,410 etxea, eta orain ez dut zehaztu joan duen i-garren ikasle etxe eremua 53 00:02:45,410 --> 00:02:49,480 bueltan balioa lortu beharko dei bat GetString (). 54 00:02:49,480 --> 00:02:52,350 >> Orain egin dezagun zerbait hiru hauekin utzi ikasleen izenak eta etxeak, 55 00:02:52,350 --> 00:02:56,230 zerbait inprimatzeko bezalako sinple esaldi batean daudelarik bakoitzean. 56 00:02:56,230 --> 00:03:07,580 int i get 0, berriro baino gutxiago da i ikasleak, i + +, printf "% s% s dago. 57 00:03:07,580 --> 00:03:12,600 backslash n ", eta orain utzi plug in me bi eremu horiek balioetan, 58 00:03:12,600 --> 00:03:19,055 ikasleek parentesi i. izena, koma, ikasleek parentesi i. etxea, itxi 59 00:03:19,055 --> 00:03:21,290 paren, puntu eta koma. 60 00:03:21,290 --> 00:03:23,020 >> Eta orain gauza bat gehiago egin behar dut. 61 00:03:23,020 --> 00:03:26,600 Fitxategi honen behealdean, behar dut esleitu zen memoria libratzeko 62 00:03:26,600 --> 00:03:30,290 GetSring (), egindako eszenak atzean eta horrek jakina malloc deiak, ordena 63 00:03:30,290 --> 00:03:32,500 esleitu memoria kateak eman Erabiltzaile motak. 64 00:03:32,500 --> 00:03:35,720 Baina hau erraza da. 65 00:03:35,720 --> 00:03:42,610 int i get 0, baino txikiagoa da i ikasleak, i + +, eta gorputzaren barruan 66 00:03:42,610 --> 00:03:48,670 hau loop, ez dut besterik gabe joan free ikasle parentesi i. izena ematen, 67 00:03:48,670 --> 00:03:52,300 eta doako ikasle parentesi i. etxea. 68 00:03:52,300 --> 00:03:55,620 >> Orain, nik argi eta garbi erabiltzen ditugun hiru loops programa honetan, benetan dut 69 00:03:55,620 --> 00:03:58,800 dute bakar bat erabil liteke, baina hau da, besterik manifestazio mesedetan, beraz, 70 00:03:58,800 --> 00:04:02,850 dugu hiru desberdin adierazi daiteke zer egiten ari garen urratsak. 71 00:04:02,850 --> 00:04:06,120 Lehen izena eta etxe bat ari gara ikasle bakoitzari, eta gero gara 72 00:04:06,120 --> 00:04:08,900 inprimatzeko izena eta etxea hiru ikasle bakoitzari, eta 73 00:04:08,900 --> 00:04:11,910 orduan ari gara memoria libratzeko joan ikasle bakoitzak erabiltzen. 74 00:04:11,910 --> 00:04:15,310 Baina ziur asko konbinatu honetan dudan genezake Bat loop handiagoak sartu. 75 00:04:15,310 --> 00:04:18,650 >> Utzi gorde en orain, konpilatu, eta programa hau exekutatu. 76 00:04:18,650 --> 00:04:26,850 egin structs 0. / structs 0, ikaslearen izendatzeko, dezagun ematen David, bizi egingo zuen 77 00:04:26,850 --> 00:04:31,580 Mather House, ikaslearen izen-abizenak, dezagun esan Lauren, Leverett in dut bizitzeko 78 00:04:31,580 --> 00:04:36,590 Etxea, ikaslearen izena, Rob, berak egingo Kirkland House bizi. 79 00:04:36,590 --> 00:04:39,440 Eta, hain zuzen, David Mather da, Lauren Leverett dago, 80 00:04:39,440 --> 00:04:40,810 eta Rob Kirkland dago. 81 00:04:40,810 --> 00:04:43,425