2 00:00:00,000 --> 00:00:02,760 >> HOPARLÖR 1: bir proqram yazmaq edək ki, Bu adlar üçün istifadəçi və baxın 3 00:00:02,760 --> 00:00:04,700 üç tələbə evləri. 4 00:00:04,700 --> 00:00:08,840 İndi, bu adları və ev saxlamaq üçün biz, nə, altı dəyişənlər istifadə edə bilər. 5 00:00:08,840 --> 00:00:12,260 Üç adları üçün strings və digər evlər üçün üç strings, 6 00:00:12,260 --> 00:00:16,560 lakin biz artıq biz təmizləmək bilər ki, bilirik əvəzinə seriallarda istifadə edərək, kodu, 7 00:00:16,560 --> 00:00:20,220 Məsələn üçün ölçüsü 3 bir sıra üç adları, və bir array 8 00:00:20,220 --> 00:00:22,110 evlərə ölçüsü 3. 9 00:00:22,110 --> 00:00:25,870 Amma biz bu təmiz olar çıxır daha da, və həqiqətən o saxlamaq 10 00:00:25,870 --> 00:00:30,520 birlikdə adları və evlər, belə ki, tələbə adı və onun ev 11 00:00:30,520 --> 00:00:34,940 elə belə, doğurmaktadırlar Eyni dəyişən, danışmaq. 12 00:00:34,940 --> 00:00:39,095 >> Bunu etmək üçün, baxmayaraq ki, biz bəyan etmək lazımdır öz data type, C öz növü, 13 00:00:39,095 --> 00:00:42,660 C müəllifləri mütləq deyil ki, il əvvəl edirəm. 14 00:00:42,660 --> 00:00:45,630 Bunu etmək üçün biz söz istifadə edə bilərsiniz typedef, ilə yanaşı, 15 00:00:45,630 --> 00:00:47,200 başqa söz struct. 16 00:00:47,200 --> 00:00:48,160 Bir nəzər salaq. 17 00:00:48,160 --> 00:00:50,650 Structs.h Inside, Mən artıq var tərəfindən açılmış kazanılmış 18 00:00:50,650 --> 00:00:52,560 CS50 kitabxana, o cümlədən. 19 00:00:52,560 --> 00:00:57,640 Mən növbəti, typedef struct yazın gedirəm və sonra bir buruq brace. 20 00:00:57,640 --> 00:01:01,370 Struct Inside, Mən gedirəm tələbə vardır ki, müəyyən bir 21 00:01:01,370 --> 00:01:04,960 adını string, bir string ev çağırıb. 22 00:01:04,960 --> 00:01:08,430 Mən sonra mənim qıvrım aşırma yaxın gedirəm, və belirttiğiniz adı 23 00:01:08,430 --> 00:01:11,420 Bu yeni data type tələbə olmalıdır. 24 00:01:11,420 --> 00:01:15,550 Başqa sözlə, bu sintaksis vasitəsilə mən öz yeni data type elan 25 00:01:15,550 --> 00:01:19,910 ki, bir an əvvəl mövcud etmədi və Bu data növü daxilində iki məlumatlar 26 00:01:19,910 --> 00:01:24,270 sahələri və ya data üzvləri, adını bir, bir adlı ev, həm də ki, 27 00:01:24,270 --> 00:01:25,630 növü simli var. 28 00:01:25,630 --> 00:01:27,690 >> Indi bu növü istifadə edək faktiki proqram. 29 00:01:27,690 --> 00:01:30,210 30 00:01:30,210 --> 00:01:34,090 Structs0.c, mən eyni kazanılmış özüm bəzi artıq başlayıb 31 00:01:34,090 --> 00:01:36,999 boilerplate kodu və mən indi deyiləm Bu data istifadə etmək olacaq 32 00:01:36,999 --> 00:01:39,100 aşağıdakı kimi tələbə yazın. 33 00:01:39,100 --> 00:01:42,450 Mən ilk bir bəyan gedirəm type tələbə array, I will 34 00:01:42,450 --> 00:01:43,920 Bu array tələbələr zəng - 35 00:01:43,920 --> 00:01:44,630 plural - 36 00:01:44,630 --> 00:01:49,360 və mən onun ölçüsü olacaq belirtirsiniz dəyəri olan, bildiriş, üç, 37 00:01:49,360 --> 00:01:50,880 daimi TƏLƏBƏLƏR - 38 00:01:50,880 --> 00:01:51,890 bütün paytaxtlarında - 39 00:01:51,890 --> 00:01:54,930 Mən burada bəyan etdik ki, əvvəllər fayl. 40 00:01:54,930 --> 00:01:58,280 İndi bu üç üzərində təkrarlamaq edək tələbələr, və üçün istifadəçi təklif 41 00:01:58,280 --> 00:02:00,050 onların adları və evləri. 42 00:02:00,050 --> 00:02:05,422 >> i 0 almaq int, i az ki, daimi daha, i + +. 43 00:02:05,422 --> 00:02:08,600 Və indi bu bədən daxilində loop, mən bir şey çap gedirəm 44 00:02:08,600 --> 00:02:11,470 şagirdin adı kimi. 45 00:02:11,470 --> 00:02:14,890 Mən həqiqətən almaq gedirəm ki, ifadə edərək tələbə adı 46 00:02:14,890 --> 00:02:17,290 tələbələr i bracket. 47 00:02:17,290 --> 00:02:21,550 Yəni mən i-ci tələbə istəyirəm indi tələbələr deyilən array, lakin 48 00:02:21,550 --> 00:02:25,340 Mən i-ci tələbə almaq istəyirəm ad, və bunu, mən istifadə gedirəm 49 00:02:25,340 --> 00:02:30,160 Bu. operator, bir at almaq üçün struct xüsusi sahə içərisində. 50 00:02:30,160 --> 00:02:37,100 Mən tələbələr i. Adı bracket daxil GetString qaytarılması dəyəri olur (). 51 00:02:37,100 --> 00:02:40,310 Eyni zamanda, mən çap gedirəm oxşar bir şey, tələbə söyləyərək 52 00:02:40,310 --> 00:02:45,410 ev, indi müəyyən etmək üçün gedirəm ki, i-ci tələbələr house sahəsində 53 00:02:45,410 --> 00:02:49,480 qaytarılması dəyəri verilir GetString başqa bir zəng (). 54 00:02:49,480 --> 00:02:52,350 >> İndi bu üç ilə bir şey edək şagirdlərin adları və evləri, 55 00:02:52,350 --> 00:02:56,230 çap kimi sadə bir şey bir cümlə, hər həyata. 56 00:02:56,230 --> 00:03:07,580 int i 0, yenə i az almaq tələbələr, i + +, printf "% s% s edir. 57 00:03:07,580 --> 00:03:12,600 backslash n ", indi mənə plug bildirin bu iki sahələrdə dəyərləri, 58 00:03:12,600 --> 00:03:19,055 tələbələr, i. adı, vergül bracket tələbələr i bracket. evi, yaxın 59 00:03:19,055 --> 00:03:21,290 paren, nöqtəli vergül. 60 00:03:21,290 --> 00:03:23,020 >> Və indi bir şey etmək lazımdır. 61 00:03:23,020 --> 00:03:26,600 Bu faylı alt, lazımdır ayrılıb ki, yaddaş azad 62 00:03:26,600 --> 00:03:30,290 GetSring () tərəfindən pərdə arxasında olan əlbəttə üçün, malloc çağırır 63 00:03:30,290 --> 00:03:32,500 strings üçün yaddaş ayrılması istifadəçi növləri. 64 00:03:32,500 --> 00:03:35,720 Amma bu sadədir. 65 00:03:35,720 --> 00:03:42,610 i 0 almaq int, i azdır tələbələr, i + +, və bədən daxilində 66 00:03:42,610 --> 00:03:48,670 Bu loop üçün, mən sadəcə gedirəm pulsuz tələbələri bracket i. adı təmin 67 00:03:48,670 --> 00:03:52,300 pulsuz tələbələri i bracket. ev. 68 00:03:52,300 --> 00:03:55,620 >> İndi biz aydın loops üçün üç istifadə etdiyiniz Bu proqram, həqiqətən mən 69 00:03:55,620 --> 00:03:58,800 yalnız bir istifadə, lakin bu ola bilər yalnız nümayiş xatirinə, belə ki, 70 00:03:58,800 --> 00:04:02,850 biz üç fərqli daxil edə bilərsiniz biz edirik dəqiq nə addımlar. 71 00:04:02,850 --> 00:04:06,120 Biz ilk bir ad və bir ev əldə etdiyiniz şagirdlərin hər biri üçün, biz sonra istəyirik 72 00:04:06,120 --> 00:04:08,900 üçün adı və evi çap üç tələbənin hər birinə və 73 00:04:08,900 --> 00:04:11,910 sonra biz yaddaş azad olacaq tələbələrin hər tərəfindən istifadə olunur. 74 00:04:11,910 --> 00:04:15,310 Amma şübhəsiz ki, biz bu birləşdirmək etdik bilər loop üçün böyük bir daxil. 75 00:04:15,310 --> 00:04:18,650 >> Tərtib, indi xilas edək, və bu proqram run. 76 00:04:18,650 --> 00:04:26,850 etmək structs 0. / structs 0, tələbə ad, David təmin edək, o yaşamaq lazımdır 77 00:04:26,850 --> 00:04:31,580 Mather House, tələbə adı, edək Lauren demək, o, LEVERETT yaşayır lazımdır 78 00:04:31,580 --> 00:04:36,590 House, tələbə adı, Rob, o will Kirkland House yaşayır. 79 00:04:36,590 --> 00:04:39,440 Və həqiqətən, David, Mather edir Lauren, LEVERETT edir 80 00:04:39,440 --> 00:04:40,810 və Rob Kirkland edir. 81 00:04:40,810 --> 00:04:43,425