Doug LLOYD: Jadi jika Anda sudah melihat video kami pada struktur,
Anda sudah tahu bahwa kita memiliki kemampuan untuk menentukan tipe data kita sendiri.
Tapi jika Anda sudah struktur digunakan, Anda tahu bahwa kadang-kadang menggunakan jenis-jenis data yang
benar-benar dapat menjadi sedikit rumit karena kita
harus menggunakan kata kunci struct ketika kita sedang bekerja dengan them--
struct mobil atau struct mahasiswa.
Itu banyak untuk mengetik jika kita hanya ingin memiliki
sesuatu yang sederhana, seperti struktur.
Kami ingin have-- kita ingin dapat bekerja dengan hal-hal
cara yang lebih singkat sedikit, seperti int atau char, sesuatu yang jauh
lebih nyaman untuk mengetik.
>> Untungnya, ada cara untuk melakukan hal ini di C,
dengan sesuatu yang disebut typedef, yang cara untuk membuat singkatan atau ditulis ulang
nama untuk jenis data.
Anda dapat menulis ulang data yang jenis yang sudah ada,
atau Anda dapat menulis jenis data Anda sendiri.
>> Hal pertama yang Anda lakukan adalah Anda menentukan tipe dengan cara biasa,
dan kemudian Anda hanya alias untuk sesuatu else-- typedef nama lama nama baru.
Cukup sederhana, bukan?
Jadi kita bisa typedef misalnya, data yang sudah ada
jenis unsigned char sebagai byte.
Dan kemudian, dari sekarang, setelah kami sudah membuat jenis ini definition-- lagi,
yang biasanya akan berada di atas dot C file-file kita, atau dalam file H dot
secara terpisah, kita bisa hanya menggunakan menggigit di mana-mana
kita akan menggunakan unsigned char.
Itu jauh lebih pendek untuk mengetik.
>> Di perpustakaan CS50, kita lakukan this-- kami typedef bintang arang sebagai string.
Karena kita disarikan pergi ide pointer.
Dan fakta bahwa string adalah benar-benar pointer ke character-- pertama
array karakter, karena itu hanya
sehingga membingungkan untuk mendapatkan kepala Anda sekitar itu-- tetapi sebenarnya itulah yang kami lakukan.
Dan baris kode ini benar-benar ada di CS50 dot H typedef Char String bintang,
hanya untuk membuat yang sedikit kurang rumit untuk harus berurusan dengan.
Anda sudah pernah melihat mungkin sedikit dari nilai sini,
tapi typedef menjadi besar bila dikombinasikan dengan struktur,
seperti yang saya singgung sebelumnya.
Struktur memiliki dua kata nama jenis.
Dan sehingga mereka dapat benar-benar menjengkelkan untuk membuat variabel dari tipe tersebut,
atau [tidak terdengar] struct sesuatu, Anda baris hanya bisa benar-benar, benar-benar lama.
Dan sehingga Anda dapat menggunakan typedef untuk datang dengan sesuatu yang jauh lebih pendek.
>> Jadi jika saya mendefinisikan mobil sebagai berikut, saya harus definisi saya dari struct mobil car--,
dan kemudian membuka brace keriting, semua bidang struktur saya,
penjepit keriting dekat, semi-colon-- setelah saya didefinisikan tipe data saya,
Saya dapat typedef struct mobil garis bawah mobil t.
Dan kemudian ketika saya sudah melakukan itu, sekarang setiap kali saya akan dinyatakan menggunakan struct
mobil, saya hanya bisa menggunakan mobil garis bawah t.
Itu jauh lebih pendek dari cara untuk mengekspresikan ide ini dari struktur ini
bahwa saya baru saja dibuat.
>> Atau, karena struktur begitu umum digunakan dalam typedef,
ada a-- Anda benar-benar dapat menentukan ketik antara awal dan akhir.
Sehingga struktur typedef lagi adalah biasanya typedef, nama lama, nama baru,
di mana nama-nama yang sudah jenis yang telah Anda buat.
Tapi Anda benar-benar dapat menentukan struktur tepat di tengah-tengah typedef
daripada harus mendefinisikan secara terpisah, dan kemudian
melakukan typedef itu.
Dan itu akan terlihat seperti this-- typedef struct mobil,
penjepit keriting terbuka, semua bidang Anda definisi, dekat penjepit keriting, t mobil.
Jadi nama lama adalah semua hal yang di merah, Anda hanya mendefinisikan struktur
dan penamaan itu pada waktu yang sama.
Dan kemudian nama baru adalah garis bawah mobil t.
Dan jika kita mulai menggunakan ini dalam kode, sebelumnya saya
mungkin mengatakan, struct mobil mycar semi-colon.
Yah aku tidak perlu melakukan itu lagi.
Sekarang bahwa saya telah digunakan typedef, saya hanya bisa mengatakan t garis bawah mobil, mycar.
Itu jauh lebih pendek dari cara untuk melakukannya, dan pada kenyataannya, itu
akan menjadi lebih banyak nyaman, terutama
Anda mulai menggunakan struktur lebih banyak dalam kode Anda.
>> Aku Doug Lloyd.
Ini adalah CS50.