Daftar Isi:
Definisi - Apa yang dimaksud dengan Sizeof Operator?
Operator sizeof, dalam C #, adalah operator yang digunakan untuk menentukan ukuran (dalam byte) dari tipe yang tidak dikelola yang bukan tipe referensi.
Saat mengembangkan aplikasi yang melibatkan alokasi memori dinamis, sangat umum untuk menemukan memori yang dialokasikan untuk suatu jenis. Sangat tidak aman untuk mengasumsikan ukuran tipe dan menggunakan nilai hard-coded dalam aplikasi, karena hal ini dapat merusak aplikasi ketika diporting ke sistem yang berbeda. Operator sizeof digunakan dalam kasus seperti itu untuk menemukan ukuran tipe data gabungan seperti struct. Namun, itu hanya dapat digunakan untuk menghitung ukuran byte tipe nilai dan bukan untuk tipe referensi karena sistem tata letak tipe virtual dari .NET framework.
Sizeof operator membantu dalam alokasi memori untuk struktur data yang diteruskan dari aplikasi terkelola ke kode tidak terkelola seperti Interop, serialisasi kustom, dll dalam variabel pointer dengan nilai yang sama dengan jumlah byte yang ditempati oleh tipe pointer. Ukuran operator membantu meningkatkan keterbacaan kode.
Techopedia menjelaskan tentang Sizeof Operator
Operator sizeof adalah operator unary yang mengambil parameter menghanguskan dan digunakan dengan kata kunci "sizeof". Berbeda dengan C ++, operator sizeof adalah konstruksi waktu kompilasi, jadi parameternya harus tipe tertutup yang diketahui selama kompilasi, bukan variabel. Parameter juga bisa berupa enum, pointer atau struct yang ditentukan pengguna tanpa properti tipe bidang atau referensi. Untuk tipe yang telah ditentukan sebelumnya, sizeof operator mengembalikan nilai yang konstan, sementara penggunaannya dengan tipe yang tersisa menghasilkan nilai berdasarkan implementasi.
Sebagai contoh, ketika ukuran operator dieksekusi dengan integer (int) sebagai parameter, itu selalu mengembalikan angka empat untuk menunjukkan bahwa variabel tipe integer menempati empat byte memori.
Ketika sizeof operator diterapkan pada operan tipe struct, ia mengambil jumlah total byte yang ditempati oleh struct, yang mencakup padding byte yang digunakan untuk penyelarasan secara internal. Pedoman untuk diikuti saat menggunakan operator sizeof dengan struct meliputi:- Itu harus dipanggil dalam blok yang tidak aman
- Variabel struct tidak boleh berisi anggota tipe referensi
- Str harus bukan tipe nilai generik
