Halo, dan selamat datang kembali.
Saya ingin berbicara sedikit tentang void pointer dalam kuliah ini.
Kita tahu apa itu void karena kita telah menggunakan kata
kunci ini ketika kita berbicara tentang fungsi.
Terutama jika kita tidak ingin mengembalikan data apa pun dari suatu fungsi, kita
menggunakan void sebagai bagian dari tanda tangan fungsi. Bagaimana ketika kita menggunakan pointer penghindar, apa artinya ini?
Nah, nama tipe void berarti tidak adanya tipe apapun.
Jadi pointer tipe void star dapat berisi alamat dari item data tipe apapun,
sehingga memiliki banyak fleksibilitas.
Jika Anda tidak tahu apa yang akan Anda simpan sebagai penunjuk, Anda dapat
mengatakan bintang batal, cukup bagus. Ini biasanya digunakan dalam fungsi untuk parameter fungsi.
Jadi void star sering digunakan sebagai tipe parameter atau
tipe kembalian
dengan fungsi, yang menangani data dengan cara independen tipe.
Jadi Anda dapat membiarkan fungsi Anda menjadi lebih fleksibel jika
membutuhkan pointer bintang yang tidak berlaku.
Ini pada dasarnya berarti bahwa fungsi
Anda dapat mengambil lebih dari satu jenis variabel kecuali
itu tidak sepenuhnya fleksibel karena Anda harus melemparkannya dengan cara tertentu ketika Anda melakukan dereferensi.
Jadi segala jenis pointer dapat diteruskan sebagai nilai tipe void, tipe apa pun.
Penunjuk kosong tidak tahu jenis objek apa yang ditunjuknya.
Jadi Anda tidak dapat melakukan dereferensi
secara langsung, dan di situlah cegukan yang sebenarnya muncul bersama dengan bintang kosong.
Ini bagus untuk fleksibilitas panjang untuk tipe data yang berbeda, tetapi Anda hanya
dapat menggunakannya jika Anda mengetahui tipe datanya.
Jadi, Anda harus memberikan pemeran
eksplisit ke pointer saat Anda melakukan dereferensi.
Alamat variabel bertipe int dapat disimpan dalam variabel pointer bertipe
void karena void star berarti semua jenis data dapat disimpan di dalamnya.
Jadi ketika Anda ingin mengakses nilai interval pada alamat
yang disimpan dalam pointer bintang kosong, Anda harus terlebih dahulu mentransmisikannya ke
pointer bertipe int.
Dalam contoh ini di sini kita akan melihat bagaimana Anda menggunakan pointer bintang kosong.
Kami memiliki tiga variabel yang kami definisikan, integer dan float dan karakter.
Kita sekarang akan membuat pointer bintang kosong.
Karena pointer bertipe void, kita dapat menetapkan alamat
i yang merupakan int. Kita dapat menetapkan alamat
f, yang merupakan float dan kita dapat menetapkan alamat karakter
atau ch yang merupakan karakter.
Satu-satunya masalah adalah ketika Anda melakukan dereferensi, Anda harus mengetahui tipe itu, tetapi Anda masih melihat keuntungannya di sini.
Keuntungannya di sini adalah kita hanya perlu membuat satu jenis variabel
dan kita dapat menyimpan beberapa alamat berbeda di dalamnya.
Tetapi kapan pun Anda ingin menggunakannya, Anda harus menggunakannya di bintang.
Dan Anda akan melihat di sini saat kami mencetak data, bahwa
bintang in sedang mengarahkan penunjuk dan kemudian kami mendereferensikannya, bintang di luar tanda
kurung int melakukan dereferensi. Jadi itu akan mencetak nilai
yang ditunjuk oleh v pointer, tetapi
pertama-tama itu akan melemparkannya ke tipe yang tepat.
Jadi di ketiga v pointer ini, itu akan mencetak untuk semut itu akan mencetak 10.
Untuk float, itu akan mengeluarkan 2. 34.
Dan untuk ch, char, itu akan mencetak k.
Kita akan melihat pointer kosong lebih banyak digunakan dalam parameter
fungsi, seperti yang saya katakan, dalam tipe pengembalian.
Dan itu benar-benar nilai ketika datang ke dan serta hanya
menggunakan pointer bintang kosong dalam satu deklarasi dan
menetapkan banyak tipe data yang berbeda. Terima kasih.