Senin, November 25, 2019

Operator sizeof pada bahasa C

Operator banya digunakan pada bahasa C dan C++. Operator sizeof mengkompilasi operator unary beberapa kali untuk digunakan menghitung ukuran dari nilai operand-nya. Hasil dari sizeof adalah tipe data unsigned integral yang biasanya dinotasikan oleh size_t. sizeof bisa diterapkan pada tipe data apapun, termasuk tipe data primitif seperti integer dan tipe data float, tipe pointer, dan tipe data compound seperti structure, union, dan lain sebagainya.

Kegunaan
operator sizeof() digunakan dengan cara perbeda menurut tipe operand-nya.

satu, Ketika operand adalah tipe data.
Ketika sizeof() digunakan dengan tipe data seperti int, float, char, dan lain sebagainya. Secara sederhanya sizeof() akan mengembalikan jumlah atau ukuran dari memori yang dialokasikan dari tipe data.

Contoh dalam bahasa C

Contoh dalam C++

Output:
1
4
4
8

Catatan: sizeof() mungkin akan memberikan output yang berbeda tergantung pada jenis mesin yang digunakan, program sebelumnya dijalankan pada kompilator gcc 32 bit.

dua, Ketika operand adalah berupa ekspresi.
Ketika sizeof(0 digunakan dengan ekspresi, maka akan mengembalikan ukuran dari ekspresi tersebut. Perhatikan contoh berikut ini:

Contoh pada bahasa C

Contoh pada C++
Output:
8

Seperti yang diketahui pada kondisi kasus pertama dari int dan double pada 4 dan 8 secara berurutan, a adalah variabel int ketika d adalah variabel double. Hasil final akan menjadi double, karenanya output dari program adalah 8 byte.

Kebutuhan dari Sizeof
satu, Untuk menemukan nilai elemen dari sebuah array.
Sizeof dapat digunakan untuk menghitung angka dari elemen array secara otomatis. Perhatikan contoh berikut ini:

Contoh program pada bahasa C

Contoh program pada C++
Output:
Number of elements: 11

dua, Untuk mengalokasikan sebuah block pada alokasi memori dinamis.
Sizeof umumnya digunakan pada alokasi memori dinamis. Contoh, jika dialokasikan memori untuk menampung nilai 10 integer dan tidak diketahui sizeof(int) dari komputer yang mengalokasikannya, maka dapat dialokasikan dengan bantuan dari sizeof.

int* ptr = (int*)malloc(10 * sizeof(int));





Related Posts

Operator sizeof pada bahasa C
Oleh

"semoga yang memberikan komentar diberikan berkah kebaikan dari Allah, dijauhkan dari kejahatan, dan diberikan pahala ilmu dan amal jariyah dari sepenggal kata yang ia tinggalkan amiin :) "