1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 Doug LLOYD: Tātad, ja jūs esat redzējuši mūsu video par struktūru, 3 00:00:07,220 --> 00:00:10,950 Jūs jau zināt, ka mums ir spēja noteikt mūsu pašu datu tipu. 4 00:00:10,950 --> 00:00:14,530 Bet, ja jūs esat izmantojis struktūras, jūs zināt ka dažkārt izmanto šo datu tipu 5 00:00:14,530 --> 00:00:16,446 faktiski var būt nedaudz apgrūtinoša, jo mēs 6 00:00:16,446 --> 00:00:19,210 ir jāizmanto struct atslēgvārdu kad mēs strādājam ar them-- 7 00:00:19,210 --> 00:00:21,257 struct auto vai struct students. 8 00:00:21,257 --> 00:00:23,090 Tas ir daudz rakstīt ja mēs vienkārši vēlamies, lai būtu 9 00:00:23,090 --> 00:00:24,830 kaut kas vienkāršs, piemēram, struktūras. 10 00:00:24,830 --> 00:00:26,390 Mēs vēlamies, lai have-- mēs vēlamies varētu strādāt ar lietām 11 00:00:26,390 --> 00:00:29,350 nedaudz vairāk stenogrāfija veids, piemēram, int vai char, kaut daudz 12 00:00:29,350 --> 00:00:31,240 ērtāk rakstīt. 13 00:00:31,240 --> 00:00:33,100 >> Par laimi, tur ir veids, kā to izdarīt, C, 14 00:00:33,100 --> 00:00:37,150 ar kaut ko sauc typedef, kas ir veids, kā izveidot stenogrāfija vai pārrakstīt 15 00:00:37,150 --> 00:00:38,640 nosaukumi datu tipu. 16 00:00:38,640 --> 00:00:40,720 Jūs varat pārrakstīt datus veidi, kas jau pastāv, 17 00:00:40,720 --> 00:00:43,970 vai arī jūs varat rakstīt datu tipu savu. 18 00:00:43,970 --> 00:00:46,890 >> Pirmā lieta jums jādara, ir jums definēt veidu kā parasti, 19 00:00:46,890 --> 00:00:52,271 un tad jūs vienkārši alias to kaut ko else-- typedef vecais nosaukums jaunu nosaukumu. 20 00:00:52,271 --> 00:00:53,520 Diezgan vienkārši, vai ne? 21 00:00:53,520 --> 00:00:56,240 Tātad mēs varētu typedef piemēram, jau esošie dati 22 00:00:56,240 --> 00:01:00,266 no neparakstīts char kā baitu veids. 23 00:01:00,266 --> 00:01:03,140 Un tad, no brīža, kad mēs esam veikts šāda veida definition-- atkal, 24 00:01:03,140 --> 00:01:07,570 kas ir parasti būs augšpusē Mūsu dot C failus, vai dot H failu 25 00:01:07,570 --> 00:01:10,590 atsevišķi, mēs varam vienkārši izmantot iekost visur 26 00:01:10,590 --> 00:01:12,180 mēs būtu izmantojis neparakstīts char. 27 00:01:12,180 --> 00:01:14,300 Tas ir daudz īsāks rakstīt. 28 00:01:14,300 --> 00:01:19,280 >> In CS50 bibliotēkā, mēs this-- mēs typedef char zvaigzne kā virkni. 29 00:01:19,280 --> 00:01:21,400 Jo mēs nošķirts prom ideja norādes. 30 00:01:21,400 --> 00:01:25,072 Un tas, ka virkne ir patiešām rādītāju uz pirmo character-- 31 00:01:25,072 --> 00:01:26,780 masīvs rakstzīmes, jo tā ir tikai 32 00:01:26,780 --> 00:01:29,863 tik mulsinoši, lai saņemtu savu galvu apkārt that-- bet patiesībā tas, ko mēs darām. 33 00:01:29,863 --> 00:01:35,140 Un šī līnija koda faktiski eksistē in CS50 DOT H typedef char zvaigžņu virkni, 34 00:01:35,140 --> 00:01:39,021 tikai, lai, ka nedaudz mazāk apgrūtinoša, lai jātiek galā ar. 35 00:01:39,021 --> 00:01:41,520 Jau esat redzējis, iespējams, Mazliet vērtības šeit, 36 00:01:41,520 --> 00:01:44,160 bet typedef kļūst liels kad kopā ar struktūrām, 37 00:01:44,160 --> 00:01:45,780 kā es norādīja uz agrāk. 38 00:01:45,780 --> 00:01:48,550 Struktūrām ir divu vārdu tipa nosaukumu. 39 00:01:48,550 --> 00:01:52,020 Un tā viņi var būt patiesi kaitinošas izveidot mainīgo šāda veida, 40 00:01:52,020 --> 00:01:56,310 vai [dzirdams] no struct kaut ko, jūsu līnijas var tikai iegūt ļoti, ļoti sen. 41 00:01:56,310 --> 00:01:59,400 Un lai jūs varētu izmantot typedef nākt klajā ar kaut ko daudz īsāks. 42 00:01:59,400 --> 00:02:04,650 >> Tātad, ja es definēt auto šādi, man ir mana definīcija car-- struct automašīnu, 43 00:02:04,650 --> 00:02:07,230 un tad atveriet cirtaini lencēm, visi lauki manas struktūras, 44 00:02:07,230 --> 00:02:11,030 aizvērt cirtaini lencēm, semi-colon-- pēc tam, kad es esmu definēts savu datu tipu, 45 00:02:11,030 --> 00:02:15,680 Es varu typedef struktūrai auto kā auto pasvītrojuma t. 46 00:02:15,680 --> 00:02:19,670 Un tad, kad es esmu darījusi, ka tagad katrs Šoreiz es būtu citādi izmantoti struct 47 00:02:19,670 --> 00:02:22,680 auto, es varu tikai izmantot automašīnu pasvītrojuma t. 48 00:02:22,680 --> 00:02:26,480 Tas ir daudz īsāks par veidu, izteikt šo ideju par šīs struktūras 49 00:02:26,480 --> 00:02:28,530 ka es tikko izveidots. 50 00:02:28,530 --> 00:02:33,620 >> Alternatīvi, jo struktūras ir tā, ko parasti izmanto typedef, 51 00:02:33,620 --> 00:02:37,980 tur ir a-- jūs faktiski var definēt tipa starp sākumā un beigās. 52 00:02:37,980 --> 00:02:42,020 Tātad typedef struktūra atkal ir Parasti typedef, vecais nosaukums, jaunais nosaukums, 53 00:02:42,020 --> 00:02:45,360 kur nosaukumi jau ir veidi, ka jūs esat izveidojis. 54 00:02:45,360 --> 00:02:49,620 Bet jūs faktiski var noteikt struktūru tiesības vidū uz typedef 55 00:02:49,620 --> 00:02:51,760 tā vietā, lai definētu tā atsevišķi, un pēc tam 56 00:02:51,760 --> 00:02:52,990 do typedef no tā. 57 00:02:52,990 --> 00:02:55,780 Un tas izskatās tāpat kā this-- typedef struct auto, 58 00:02:55,780 --> 00:02:59,957 atvērts cirtaini lencēm, visi savā jomā definīcijas, close cirtaini lencēm, auto t. 59 00:02:59,957 --> 00:03:03,290 Tātad vecais nosaukums ir viss, kas sabāzt sarkans, jūs vienkārši definējot struktūru 60 00:03:03,290 --> 00:03:05,610 un nosaukumu vienā un tajā pašā laikā. 61 00:03:05,610 --> 00:03:07,790 Un tad jaunais nosaukums ir auto pasvītrojums t. 62 00:03:07,790 --> 00:03:10,150 Un tāpēc, ja mēs sāktu lietot šo kodu, agrāk es 63 00:03:10,150 --> 00:03:13,279 varētu teikt, struct auto MyCar semikols. 64 00:03:13,279 --> 00:03:14,820 Nu man nav ko darīt, ka vairs. 65 00:03:14,820 --> 00:03:20,265 Tagad, kad es esmu izmantojis typedef, es var tikai teikt auto pasvītrojuma t, MyCar. 66 00:03:20,265 --> 00:03:22,640 Tas ir daudz īsāks par veidu, to darīt, un patiesībā, tas ir 67 00:03:22,640 --> 00:03:24,515 būs daudz vairāk ērti, it īpaši 68 00:03:24,515 --> 00:03:27,730 kā jūs sākat lietot struktūras daudz vairāk jūsu kodu. 69 00:03:27,730 --> 00:03:28,810 >> Es esmu Doug Lloyd. 70 00:03:28,810 --> 00:03:30,640 Tas ir CS50. 71 00:03:30,640 --> 00:03:32,415