1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 ДАГ Lloyd: Так що, якщо у Вас є бачили нашу відео на структурах, 3 00:00:07,220 --> 00:00:10,950 Ви вже знаєте, що у нас є Здатність визначати наші власні типи даних. 4 00:00:10,950 --> 00:00:14,530 Але якщо ви використовували структури, ви знаєте, що іноді використовуючи ці типи даних 5 00:00:14,530 --> 00:00:16,446 може насправді бути трохи громіздкою, тому що ми 6 00:00:16,446 --> 00:00:19,210 повинні використовувати ключове слово структури коли ми працюємо з them-- 7 00:00:19,210 --> 00:00:21,257 структура автомобіля або структура студент. 8 00:00:21,257 --> 00:00:23,090 Це багато, щоб надрукувати якщо ми просто хочемо, щоб 9 00:00:23,090 --> 00:00:24,830 щось просте, як структури. 10 00:00:24,830 --> 00:00:26,390 Ми хочемо, щоб have-- ми хочемо вміти працювати з речами 11 00:00:26,390 --> 00:00:29,350 трохи більше скорочений спосіб, як Int або напівкоксу, щось багато 12 00:00:29,350 --> 00:00:31,240 зручніше друкувати. 13 00:00:31,240 --> 00:00:33,100 >> На щастя, є спосіб зробити це в C, 14 00:00:33,100 --> 00:00:37,150 з чимось під назвою ЬурейеЕ, що спосіб створення стенографії або переписати 15 00:00:37,150 --> 00:00:38,640 Імена для типів даних. 16 00:00:38,640 --> 00:00:40,720 Ви можете переписати дані типи, які вже існують, 17 00:00:40,720 --> 00:00:43,970 або ви можете написати типи даних самостійно. 18 00:00:43,970 --> 00:00:46,890 >> Перше, що вам зробити, це вам визначити тип у звичайному порядку, 19 00:00:46,890 --> 00:00:52,271 а потім ви просто псевдонім його на щось else-- TYPEDEF стара назва нове ім'я. 20 00:00:52,271 --> 00:00:53,520 Досить просто, чи не так? 21 00:00:53,520 --> 00:00:56,240 Таким чином, ми могли типу для, наприклад, вже існуючі дані 22 00:00:56,240 --> 00:01:00,266 тип непідписані символ як байта. 23 00:01:00,266 --> 00:01:03,140 А потім, відтепер, після того як ми зробив цей тип definition-- знову, 24 00:01:03,140 --> 00:01:07,570 які, як правило, буде у верхній наших точок C файлів, або у файлі точка H 25 00:01:07,570 --> 00:01:10,590 окремо, ми можемо тільки використовувати вкусити всюди 26 00:01:10,590 --> 00:01:12,180 ми використовували б непідписані символ. 27 00:01:12,180 --> 00:01:14,300 Це набагато коротше, щоб надрукувати. 28 00:01:14,300 --> 00:01:19,280 >> У бібліотеці CS50, ми робимо this-- ми визначення типу під сЬаг зірку рядка. 29 00:01:19,280 --> 00:01:21,400 Тому що ми абстрагуватися від ідеї покажчиків. 30 00:01:21,400 --> 00:01:25,072 І той факт, що рядок дійсно покажчик на перший character-- 31 00:01:25,072 --> 00:01:26,780 масив символів, тому що це просто 32 00:01:26,780 --> 00:01:29,863 настільки заплутаною, щоб отримати свою голову навколо that-- але насправді те, що ми робимо. 33 00:01:29,863 --> 00:01:35,140 І цей рядок коду насправді існує в CS50 Dot H TYPEDEF напівкоксу зірок рядки, 34 00:01:35,140 --> 00:01:39,021 просто щоб що трохи менше громіздким мати справу з. 35 00:01:39,021 --> 00:01:41,520 Вже ви бачили, ймовірно, трохи від вартості тут, 36 00:01:41,520 --> 00:01:44,160 але ЬурейеЕ стає великим в поєднанні з структури, 37 00:01:44,160 --> 00:01:45,780 як я згадував раніше. 38 00:01:45,780 --> 00:01:48,550 Структури мають ім'я типу двох слів. 39 00:01:48,550 --> 00:01:52,020 І тому вони можуть бути дуже дратує створювати змінні цього типу, 40 00:01:52,020 --> 00:01:56,310 або [нерозбірливо] зі структури чогось, ваш лінії можуть просто отримати дійсно, дійсно довго. 41 00:01:56,310 --> 00:01:59,400 І тому ви можете використовувати ЬурейеЕ прийти щось багато коротше. 42 00:01:59,400 --> 00:02:04,650 >> Так що, якщо я визначаю машину як слід, у мене є моє визначення car-- структури автомобіля, 43 00:02:04,650 --> 00:02:07,230 а потім відкрити фігурну дужку, все поля моєї структури, 44 00:02:07,230 --> 00:02:11,030 близько фігурна дужка, напів-colon-- після того як я визначені мій тип даних, 45 00:02:11,030 --> 00:02:15,680 Я можу визначення типу по-структуру машина як машина підкреслення т. 46 00:02:15,680 --> 00:02:19,670 А потім, коли я зробив це, тепер кожен раз я б в іншому випадку використовується структура 47 00:02:19,670 --> 00:02:22,680 автомобіль, я можу просто використовувати автомобіль підкреслення т. 48 00:02:22,680 --> 00:02:26,480 Це багато коротше спосіб виразити цю ідею цієї структури 49 00:02:26,480 --> 00:02:28,530 що я тільки що створили. 50 00:02:28,530 --> 00:02:33,620 >> Крім того, через структури так широко використовується в ЬурейеЕ, 51 00:02:33,620 --> 00:02:37,980 є a-- ви можете визначити ввести між початком і кінцем. 52 00:02:37,980 --> 00:02:42,020 Таким чином, структура ЬурейеЕ знову зазвичай ЬурейеЕ, стара назва, нове ім'я, 53 00:02:42,020 --> 00:02:45,360 де імена вже типи, які ви створили. 54 00:02:45,360 --> 00:02:49,620 Але ви можете визначити структуру прямо в середині ЬурейеЕ 55 00:02:49,620 --> 00:02:51,760 замість того, щоб визначити це окремо, а потім 56 00:02:51,760 --> 00:02:52,990 зробити ЬурейеЕ його. 57 00:02:52,990 --> 00:02:55,780 І, що б виглядають як this-- ЬурейеЕ структура автомобіля, 58 00:02:55,780 --> 00:02:59,957 відкритий фігурна дужка, всі ваші поля Визначення, поруч фігурна дужка, автомобіль гр. 59 00:02:59,957 --> 00:03:03,290 Таким чином, стара назва це все, що матеріал у червоний, ви просто за визначенням структури 60 00:03:03,290 --> 00:03:05,610 і назвавши його в той же час. 61 00:03:05,610 --> 00:03:07,790 І тоді нова назва це автомобіль підкреслення т. 62 00:03:07,790 --> 00:03:10,150 І тому, якщо ми починаємо використовувати це в коді, раніше я 63 00:03:10,150 --> 00:03:13,279 сказав би, структури автомобіль MyCar коми. 64 00:03:13,279 --> 00:03:14,820 Ну, я не повинен цього робити. 65 00:03:14,820 --> 00:03:20,265 Тепер, коли я використовував ЬурейеЕ, я можна просто сказати машина підкреслення т, MyCar. 66 00:03:20,265 --> 00:03:22,640 Це набагато коротше способу це зробити, і справді, це 67 00:03:22,640 --> 00:03:24,515 буде набагато більше зручно, особливо 68 00:03:24,515 --> 00:03:27,730 як ви почнете використовувати структури набагато більше у вашому коді. 69 00:03:27,730 --> 00:03:28,810 >> Я Дуг Ллойд. 70 00:03:28,810 --> 00:03:30,640 Це CS50. 71 00:03:30,640 --> 00:03:32,415