2 00:00:00,000 --> 00:00:02,760 >> ПРЕДСЕДНИК 1: Хајде да напише програм који пита корисника за именима и 3 00:00:02,760 --> 00:00:04,700 куће три ученика. 4 00:00:04,700 --> 00:00:08,840 Сада, за чување тих имена и куће можемо да користимо, шта, шест променљивих. 5 00:00:08,840 --> 00:00:12,260 Три жице за именима, и други три жице за куће, 6 00:00:12,260 --> 00:00:16,560 али ми већ знамо да можемо да очисти да код помоћу низова уместо, 7 00:00:16,560 --> 00:00:20,220 на пример низ величине 3 за три имена, и још низ 8 00:00:20,220 --> 00:00:22,110 величина 3 за куце. 9 00:00:22,110 --> 00:00:25,870 Али испоставило се да можемо да почистим ово даље и даље, и заправо задржати оне 10 00:00:25,870 --> 00:00:30,520 имена и куће заједно, тако да се име ученика и његова или њена кућа 11 00:00:30,520 --> 00:00:34,940 се некако енкапсулиран, тако да говори, у исте променљиве. 12 00:00:34,940 --> 00:00:39,095 >> Да бисте то урадили, међутим, морамо да се изјасни наше тип података, наша врста у Ц, 13 00:00:39,095 --> 00:00:42,660 да аутори нису нужно Ц Мислим година раније. 14 00:00:42,660 --> 00:00:45,630 Да бисте то урадили можемо да користимо кључну реч типедеф, заједно са 15 00:00:45,630 --> 00:00:47,200 друга кључна реч струцт. 16 00:00:47,200 --> 00:00:48,160 Хајде да погледамо. 17 00:00:48,160 --> 00:00:50,650 Унутар струцтс.х, већ сам сам стечен започео 18 00:00:50,650 --> 00:00:52,560 укључујући ЦС50 библиотеке. 19 00:00:52,560 --> 00:00:57,640 Ја поред ћу да куцате типедеф струцт, а затим коврџава браце. 20 00:00:57,640 --> 00:01:01,370 Унутар структуре попунити, ја ћу да прецизира да ће ученик имати 21 00:01:01,370 --> 00:01:04,960 стринг зове име, а други стринг зове кућа. 22 00:01:04,960 --> 00:01:08,430 Идем да онда затворим витичасте заграде, и одредите да име 23 00:01:08,430 --> 00:01:11,420 овај нови тип података биће ученик. 24 00:01:11,420 --> 00:01:15,550 Другим речима, преко овог синтаксе имају И прогласио нови тип података моје 25 00:01:15,550 --> 00:01:19,910 да није постојао пре тренутак, и унутар овог типа података су два податка 26 00:01:19,910 --> 00:01:24,270 поља или чланови података, једна се зове име, један зове кућа, од којих оба 27 00:01:24,270 --> 00:01:25,630 су типа стринг. 28 00:01:25,630 --> 00:01:27,690 >> Хајде да сада користе ову врсту у стварном програму. 29 00:01:27,690 --> 00:01:30,210 30 00:01:30,210 --> 00:01:34,090 У струцтс0.ц, ја сам слично стечен сам већ почео са неким 31 00:01:34,090 --> 00:01:36,999 Предложени број, а ја сам сада ће користити ове податке 32 00:01:36,999 --> 00:01:39,100 укуцајте студент, као што следи. 33 00:01:39,100 --> 00:01:42,450 Ја ћу прво да се изјасни низ типа студент, ја ћу 34 00:01:42,450 --> 00:01:43,920 позовите низа студенте - 35 00:01:43,920 --> 00:01:44,630 множина - 36 00:01:44,630 --> 00:01:49,360 и ја ћу навести да ће његова величина бити три, који, обавештење, је вредност 37 00:01:49,360 --> 00:01:50,880 константни СТУДЕНТИ - 38 00:01:50,880 --> 00:01:51,890 у свим главним градовима - 39 00:01:51,890 --> 00:01:54,930 да сам проглашена овде, раније у датотеци. 40 00:01:54,930 --> 00:01:58,280 Хајде да сада поновити у том тројицом студенти, и питати корисника за 41 00:01:58,280 --> 00:02:00,050 њихова имена и куће. 42 00:02:00,050 --> 00:02:05,422 >> за инт добијем 0, и је мање од тога константа, и + +. 43 00:02:05,422 --> 00:02:08,600 А сада унутар тела за ово петља, ја ћу да одштампате нешто 44 00:02:08,600 --> 00:02:11,470 као име ученика. 45 00:02:11,470 --> 00:02:14,890 Ја онда ћу стварно добити да Име ученика навођењем 46 00:02:14,890 --> 00:02:17,290 ученика у заграде и. 47 00:02:17,290 --> 00:02:21,550 Другим речима желим студенту и-ти у низ позвао студенте, али сада 48 00:02:21,550 --> 00:02:25,340 Желим да се на тај и-ти ученик име, а да би то урадили, ја ћу да користим 49 00:02:25,340 --> 00:02:30,160 . оператер, како би се на специфична област унутар струцт. 50 00:02:30,160 --> 00:02:37,100 Тако сам одредите студената изједначи и име. добија повратну вредност ГетСтринг (). 51 00:02:37,100 --> 00:02:40,310 У међувремену, ја ћу да одштампате нешто слично, рекавши ученик 52 00:02:40,310 --> 00:02:45,410 кућа, а сада ћу навести да студенти кућа поље и-тог 53 00:02:45,410 --> 00:02:49,480 ће добити повратну вредност још један позив да ГетСтринг (). 54 00:02:49,480 --> 00:02:52,350 >> Сада хајде да урадимо нешто са ове три имена и куће ученика, 55 00:02:52,350 --> 00:02:56,230 нешто једноставно попут штампе сваки у једној реченици. 56 00:02:56,230 --> 00:03:07,580 за инт добијем 0, опет сам је мање од студенти, и + +, иф "% с је у% с. 57 00:03:07,580 --> 00:03:12,600 косих н ", а сада пусти ме да прикључите вредности та два поља, 58 00:03:12,600 --> 00:03:19,055 студенте у заграде и име, зарез., студенти изједначи И кућа, близу. 59 00:03:19,055 --> 00:03:21,290 заграда, тачка и зарез. 60 00:03:21,290 --> 00:03:23,020 >> И сад ја треба да урадим још једну ствар. 61 00:03:23,020 --> 00:03:26,600 На дну ове датотеке, треба да ослободили меморију која је додељена 62 00:03:26,600 --> 00:03:30,290 иза кулиса од ГетСринг (), који наравно позива маллоц, како би се 63 00:03:30,290 --> 00:03:32,500 доделити меморију за гудаче типови корисника. 64 00:03:32,500 --> 00:03:35,720 Али то је једноставан. 65 00:03:35,720 --> 00:03:42,610 за инт добијем 0, и је мање од студенти, и + +, а унутар тела 66 00:03:42,610 --> 00:03:48,670 ово за петљу, ја једноставно ћу пружају бесплатну студената конзолу и име., 67 00:03:48,670 --> 00:03:52,300 и бесплатна студенти изједначи ја кућу.. 68 00:03:52,300 --> 00:03:55,620 >> Сада, ми смо јасно користи три петље за у овом програму, када сам стварно 69 00:03:55,620 --> 00:03:58,800 могао је само користио један, али то је само ради демонстрација, тако да 70 00:03:58,800 --> 00:04:02,850 можемо да наведемо у три различита кораци шта радимо. 71 00:04:02,850 --> 00:04:06,120 Ми смо прво добијају име и кућу за сваки од ученика, онда смо 72 00:04:06,120 --> 00:04:08,900 одштампа име и кућу за сваки од три ученика, а 73 00:04:08,900 --> 00:04:11,910 онда ћемо ослободити меморију користи сваки од ученика. 74 00:04:11,910 --> 00:04:15,310 Али сигурно могли смо комбиновати ово у један већи за петљу. 75 00:04:15,310 --> 00:04:18,650 >> Хајде да сада спасити, саставити, и покренете овај програм. 76 00:04:18,650 --> 00:04:26,850 чине Структуре 0. / Структуре 0, ученик име, хајде да обезбеди Давида, он ће живети 77 00:04:26,850 --> 00:04:31,580 у Дому Матхер, име ученика, да кажу Лаурен, она ће живети у Леверетт 78 00:04:31,580 --> 00:04:36,590 Кућа, име ученика, Роб, он ће живи у Киркланд Хоусе. 79 00:04:36,590 --> 00:04:39,440 И заиста, Давид је у Матхер, Лорен је у Леверетт, 80 00:04:39,440 --> 00:04:40,810 и Роб је у Киркланд. 81 00:04:40,810 --> 00:04:43,425