Doug LLOYD: Eğer ettik Yani eğer yapılar üzerindeki videoyu görülen,
Zaten biz biliyoruz Kendi veri türlerini tanımlama yeteneği.
Eğer kullanılan yapıları ettik Ama eğer biliyor bazen bu veri türlerini kullanarak
Aslında biraz olabilir hantal çünkü biz
struct anahtar sözcüğü kullanmak zorunda Biz them-- ile çalışırken
struct araba ya da yapı öğrencisi.
Bu tip bir çok şey var Biz sadece sahip olmak istiyorsanız
Bir yapı gibi basit bir şey.
Biz istiyoruz have-- istiyorum şeylerle çalışmak mümkün
Biraz daha kestirme bir yol, int veya Char, bir şey çok seviyorum
yazın daha uygun.
>> Neyse ki, orada Bir yol, C bunu
bir typedef denilen bir şey ile bir yol steno oluşturmak veya yeniden yazılamaz için
veri tipleri için isimler.
Verileri yeniden yazabilirsiniz zaten mevcut tipleri,
ya da kendi veri türlerini yazabilirsiniz.
>> Yapmanız gereken ilk şey sensin Normal bir türü tanımlar,
ve o zaman sadece bir şey için diğer ad typedef Eski adı yeni adı else--.
Oldukça basit, değil mi?
Bu yüzden, örneğin typedef olabilir, Zaten mevcut veri
byte olarak unsigned char türü.
Ve sonra, artık biz ettik sonra Bu tür tekrar definition-- yapılan
Genellikle üstünde olacak olan Bizim nokta C dosyaları veya bir nokta H dosyasında
ayrı ayrı, biz sadece Her yerde lokma kullanın
Biz unsigned char kullanılmış olurdu.
Bu tip çok kısa.
>> CS50 kütüphanesinde, biz bu-- yapmak Biz dize olarak Char yıldız typedef.
Biz soyutlanarak Çünkü işaretçiler uzak fikir.
Ve aslında bir dize gerçekten olduğunu İlk character-- bir işaretçi
karakter dizisi, Sadece çünkü
başınızın etrafında almak çok kafa karıştırıcı ki- ama biz ne var aslında.
Ve bu kod satırı gerçekte var CS50 nokta H typedef karakter yıldızı dizesinde,
sadece biraz daha az yapmak hantal ile uğraşmak zorunda.
Zaten muhtemelen bir gördüm Burada değerin biraz,
ama büyük typedef olur yapıları ile bir araya getirildiğinde,
Daha önce ima olarak.
Yapılar bir iki kelimelik tipi adı var.
Ve böylece onlar gerçekten sinir bozucu olabilir bu tür değişkenleri oluşturmak için,
veya [duyulamaz] struct şey, senin satırlar, sadece gerçekten uzun, gerçekten alabilirsiniz.
Ve böylece gelip typedef kullanabilirsiniz çok kısa bir şeyle.
>> Aşağıdaki gibi bir araba tanımlamak Yani, ben Bir car-- yapı araba benim tanımı,
ve daha sonra tüm küme ayracı açmak Benim yapı alanları,
yakın kaşlı ayraç, yarı colon-- Benim veri türünü tanımlanan ettikten sonra,
Ben yapı typedef edebilirsiniz Araba çizgi t olarak araba.
Ve sonra ben şimdi her, yaptık ne zaman zaman başka türlü kullanılmış olurdu yapı
araba, ben sadece araba çizgi t kullanabilirsiniz.
Yani bir şekilde çok daha kısa olduğunu Bu yapının bu fikri dile
Ben sadece yarattığı.
>> Alternatif olarak, yapı nedeniyle bu nedenle genel olarak Typedef kullanılır,
aslında tanımlayabilirsiniz bir-- var başlangıç ​​ve bitiş arasındaki yazın.
Yani typedef yapısı yine Genellikle typedef, eski adı, yeni ad,
isimler zaten nerede Oluşturduğunuz türleri.
Ama aslında bir yapı tanımlayabilirsiniz Sağ typedef ortasında
Bunun yerine tanımlamak zorunda ayrı ayrı, ve sonra
Bunun bir typedef yapın.
Ve bu gibi görünecektir bu-- typedef struct araba,
açık kaşlı ayraç, kendi alanında tüm tanımlar, yakın kaşlı ayraç, araba t.
Yani eski adı tüm bu şeyler olduğunu kırmızı, sadece yapıyı tanımlarken
ve aynı zamanda adlandırma.
Ve sonra yeni isim Araba çizgi t.
Ve böylece biz kullanmaya başlarsak bu kodu, daha önceden I
dedi olabilir, yapı Araç mycar virgül.
Eh artık bunu yapmak zorunda değilsiniz.
Şimdi typedef kullandım, ben Sadece araba çizgi t, MyCar söyleyebiliriz.
Bu bir şekilde çok daha kısa olduğunu bunu, ve aslında, bu kadar için
çok daha fazla olacak Uygun özellikle
Eğer yapıları kullanmaya başladığınız kodunuzu çok daha fazla.
>> Ben Doug Lloyd değilim.
Bu CS50 olduğunu.