Bagikan melalui


Konversi Type-Cast

Anda dapat menggunakan jenis cast untuk mengonversi jenis secara eksplisit.

Sintaks

cast-expression:
unary-expression
( type-name ) cast-expression

type-name:
specifier-qualifier-listabstract-declaratorMemilih

adalah jenis dan cast-expression merupakan nilai yang akan dikonversi ke jenis tersebuttype-name. Ekspresi dengan jenis pemeran bukan nilai l. dikonversi cast-expression seolah-olah telah ditetapkan ke variabel jenis type-name. Aturan konversi untuk penugasan (diuraikan dalam Konversi Penugasan) juga berlaku untuk jenis transmisi. Tabel berikut ini memperlihatkan jenis yang bisa ditransmisikan ke jenis tertentu.

Jenis Tujuan Sumber Potensial
Jenis integral Setiap jenis bilangan bulat atau jenis titik mengambang, atau penunjuk ke objek
Floating-point Jenis aritmatika apa pun
Penunjuk ke objek, atau void * Jenis bilangan bulat apa pun, void *, penunjuk ke objek, atau penunjuk fungsi
Penunjuk fungsi Setiap jenis bilangan bulat, penunjuk ke objek, atau penunjuk fungsi
Struktur, union, atau array Tidak
Jenis Kosong Jenis apa pun

Pengidentifikasi apa pun dapat dilemparkan ke void jenis. Namun, jika jenis yang ditentukan dalam ekspresi type-cast tidak void, maka pengidentifikasi yang ditransmisikan ke jenis tersebut tidak dapat menjadi void ekspresi. Ekspresi apa pun dapat dilemparkan ke void, tetapi ekspresi jenis void tidak dapat dilemparkan ke jenis lain. Misalnya, fungsi dengan void jenis pengembalian tidak dapat memiliki transmisi pengembaliannya ke jenis lain.

Ekspresi void * memiliki penunjuk jenis ke void, bukan tipe void. Jika objek ditransmisikan ke void jenis, ekspresi yang dihasilkan tidak dapat ditetapkan ke item apa pun. Demikian pula, objek type-cast bukan nilai l yang dapat diterima, sehingga tidak ada penugasan yang dapat dilakukan ke objek type-cast.

Khusus Microsoft

Jenis cast dapat berupa ekspresi nilai l selama ukuran pengidentifikasi tidak berubah. Untuk informasi tentang ekspresi nilai l, lihat Ekspresi Nilai-L dan Nilai-R.

END Khusus Microsoft

Anda dapat mengonversi ekspresi untuk diketik void dengan cast, tetapi ekspresi yang dihasilkan hanya dapat digunakan di mana nilai tidak diperlukan. Penunjuk objek yang dikonversi ke void * dan kembali ke jenis asli akan kembali ke nilai aslinya.

Lihat juga

Konversi Jenis