1 00:00:00,000 --> 00:00:04,970 2 00:00:04,970 --> 00:00:07,220 Doug LLOYD: Eğer ettik Yani eğer yapılar üzerindeki videoyu görülen, 3 00:00:07,220 --> 00:00:10,950 Zaten biz biliyoruz Kendi veri türlerini tanımlama yeteneği. 4 00:00:10,950 --> 00:00:14,530 Eğer kullanılan yapıları ettik Ama eğer biliyor bazen bu veri türlerini kullanarak 5 00:00:14,530 --> 00:00:16,446 Aslında biraz olabilir hantal çünkü biz 6 00:00:16,446 --> 00:00:19,210 struct anahtar sözcüğü kullanmak zorunda Biz them-- ile çalışırken 7 00:00:19,210 --> 00:00:21,257 struct araba ya da yapı öğrencisi. 8 00:00:21,257 --> 00:00:23,090 Bu tip bir çok şey var Biz sadece sahip olmak istiyorsanız 9 00:00:23,090 --> 00:00:24,830 Bir yapı gibi basit bir şey. 10 00:00:24,830 --> 00:00:26,390 Biz istiyoruz have-- istiyorum şeylerle çalışmak mümkün 11 00:00:26,390 --> 00:00:29,350 Biraz daha kestirme bir yol, int veya Char, bir şey çok seviyorum 12 00:00:29,350 --> 00:00:31,240 yazın daha uygun. 13 00:00:31,240 --> 00:00:33,100 >> Neyse ki, orada Bir yol, C bunu 14 00:00:33,100 --> 00:00:37,150 bir typedef denilen bir şey ile bir yol steno oluşturmak veya yeniden yazılamaz için 15 00:00:37,150 --> 00:00:38,640 veri tipleri için isimler. 16 00:00:38,640 --> 00:00:40,720 Verileri yeniden yazabilirsiniz zaten mevcut tipleri, 17 00:00:40,720 --> 00:00:43,970 ya da kendi veri türlerini yazabilirsiniz. 18 00:00:43,970 --> 00:00:46,890 >> Yapmanız gereken ilk şey sensin Normal bir türü tanımlar, 19 00:00:46,890 --> 00:00:52,271 ve o zaman sadece bir şey için diğer ad typedef Eski adı yeni adı else--. 20 00:00:52,271 --> 00:00:53,520 Oldukça basit, değil mi? 21 00:00:53,520 --> 00:00:56,240 Bu yüzden, örneğin typedef olabilir, Zaten mevcut veri 22 00:00:56,240 --> 00:01:00,266 byte olarak unsigned char türü. 23 00:01:00,266 --> 00:01:03,140 Ve sonra, artık biz ettik sonra Bu tür tekrar definition-- yapılan 24 00:01:03,140 --> 00:01:07,570 Genellikle üstünde olacak olan Bizim nokta C dosyaları veya bir nokta H dosyasında 25 00:01:07,570 --> 00:01:10,590 ayrı ayrı, biz sadece Her yerde lokma kullanın 26 00:01:10,590 --> 00:01:12,180 Biz unsigned char kullanılmış olurdu. 27 00:01:12,180 --> 00:01:14,300 Bu tip çok kısa. 28 00:01:14,300 --> 00:01:19,280 >> CS50 kütüphanesinde, biz bu-- yapmak Biz dize olarak Char yıldız typedef. 29 00:01:19,280 --> 00:01:21,400 Biz soyutlanarak Çünkü işaretçiler uzak fikir. 30 00:01:21,400 --> 00:01:25,072 Ve aslında bir dize gerçekten olduğunu İlk character-- bir işaretçi 31 00:01:25,072 --> 00:01:26,780 karakter dizisi, Sadece çünkü 32 00:01:26,780 --> 00:01:29,863 başınızın etrafında almak çok kafa karıştırıcı ki- ama biz ne var aslında. 33 00:01:29,863 --> 00:01:35,140 Ve bu kod satırı gerçekte var CS50 nokta H typedef karakter yıldızı dizesinde, 34 00:01:35,140 --> 00:01:39,021 sadece biraz daha az yapmak hantal ile uğraşmak zorunda. 35 00:01:39,021 --> 00:01:41,520 Zaten muhtemelen bir gördüm Burada değerin biraz, 36 00:01:41,520 --> 00:01:44,160 ama büyük typedef olur yapıları ile bir araya getirildiğinde, 37 00:01:44,160 --> 00:01:45,780 Daha önce ima olarak. 38 00:01:45,780 --> 00:01:48,550 Yapılar bir iki kelimelik tipi adı var. 39 00:01:48,550 --> 00:01:52,020 Ve böylece onlar gerçekten sinir bozucu olabilir bu tür değişkenleri oluşturmak için, 40 00:01:52,020 --> 00:01:56,310 veya [duyulamaz] struct şey, senin satırlar, sadece gerçekten uzun, gerçekten alabilirsiniz. 41 00:01:56,310 --> 00:01:59,400 Ve böylece gelip typedef kullanabilirsiniz çok kısa bir şeyle. 42 00:01:59,400 --> 00:02:04,650 >> Aşağıdaki gibi bir araba tanımlamak Yani, ben Bir car-- yapı araba benim tanımı, 43 00:02:04,650 --> 00:02:07,230 ve daha sonra tüm küme ayracı açmak Benim yapı alanları, 44 00:02:07,230 --> 00:02:11,030 yakın kaşlı ayraç, yarı colon-- Benim veri türünü tanımlanan ettikten sonra, 45 00:02:11,030 --> 00:02:15,680 Ben yapı typedef edebilirsiniz Araba çizgi t olarak araba. 46 00:02:15,680 --> 00:02:19,670 Ve sonra ben şimdi her, yaptık ne zaman zaman başka türlü kullanılmış olurdu yapı 47 00:02:19,670 --> 00:02:22,680 araba, ben sadece araba çizgi t kullanabilirsiniz. 48 00:02:22,680 --> 00:02:26,480 Yani bir şekilde çok daha kısa olduğunu Bu yapının bu fikri dile 49 00:02:26,480 --> 00:02:28,530 Ben sadece yarattığı. 50 00:02:28,530 --> 00:02:33,620 >> Alternatif olarak, yapı nedeniyle bu nedenle genel olarak Typedef kullanılır, 51 00:02:33,620 --> 00:02:37,980 aslında tanımlayabilirsiniz bir-- var başlangıç ​​ve bitiş arasındaki yazın. 52 00:02:37,980 --> 00:02:42,020 Yani typedef yapısı yine Genellikle typedef, eski adı, yeni ad, 53 00:02:42,020 --> 00:02:45,360 isimler zaten nerede Oluşturduğunuz türleri. 54 00:02:45,360 --> 00:02:49,620 Ama aslında bir yapı tanımlayabilirsiniz Sağ typedef ortasında 55 00:02:49,620 --> 00:02:51,760 Bunun yerine tanımlamak zorunda ayrı ayrı, ve sonra 56 00:02:51,760 --> 00:02:52,990 Bunun bir typedef yapın. 57 00:02:52,990 --> 00:02:55,780 Ve bu gibi görünecektir bu-- typedef struct araba, 58 00:02:55,780 --> 00:02:59,957 açık kaşlı ayraç, kendi alanında tüm tanımlar, yakın kaşlı ayraç, araba t. 59 00:02:59,957 --> 00:03:03,290 Yani eski adı tüm bu şeyler olduğunu kırmızı, sadece yapıyı tanımlarken 60 00:03:03,290 --> 00:03:05,610 ve aynı zamanda adlandırma. 61 00:03:05,610 --> 00:03:07,790 Ve sonra yeni isim Araba çizgi t. 62 00:03:07,790 --> 00:03:10,150 Ve böylece biz kullanmaya başlarsak bu kodu, daha önceden I 63 00:03:10,150 --> 00:03:13,279 dedi olabilir, yapı Araç mycar virgül. 64 00:03:13,279 --> 00:03:14,820 Eh artık bunu yapmak zorunda değilsiniz. 65 00:03:14,820 --> 00:03:20,265 Şimdi typedef kullandım, ben Sadece araba çizgi t, MyCar söyleyebiliriz. 66 00:03:20,265 --> 00:03:22,640 Bu bir şekilde çok daha kısa olduğunu bunu, ve aslında, bu kadar için 67 00:03:22,640 --> 00:03:24,515 çok daha fazla olacak Uygun özellikle 68 00:03:24,515 --> 00:03:27,730 Eğer yapıları kullanmaya başladığınız kodunuzu çok daha fazla. 69 00:03:27,730 --> 00:03:28,810 >> Ben Doug Lloyd değilim. 70 00:03:28,810 --> 00:03:30,640 Bu CS50 olduğunu. 71 00:03:30,640 --> 00:03:32,415