Langsung ke konten utama

Operator Sizeof pada Bahasa C

Operator sizeof adalah operator yang hanya bisa 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_tsizeof bisa diterapkan pada tipe data apapun, termasuk tipe data primitif seperti integer dan tipe data float, tipe pointer, dan tipe data compound seperti structureunion, dan lain sebagainya.

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

satuKetika 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

#include <stdio.h>

 

int main()

{

printf("%lu\n", sizeof(char));

printf("%lu\n", sizeof(int));

printf("%lu\n", sizeof(float));

printf("%lu", sizeof(double));

 

return 0;

}


Contoh dalam C++

#include <iostream>

using namespace std;

 

int main()

{

cout << sizeof(char)<<"\n";

cout << sizeof(int)<<"\n";

cout << sizeof(float)<<"\n";

cout << sizeof(double)<<"\n";

 

return 0;

}


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() digunakan dengan ekspresi, maka akan mengembalikan ukuran dari ekspresi tersebut. Perhatikan contoh berikut ini:

Contoh pada bahasa C

#include <stdio.h>

 

int main()

{

int a = 0;

double d = 10.21;

printf("%lu", sizeof(a + d));

 

return 0;

}


Contoh pada C++

#include <iostream>

using namespace std;

 

int main()

{

int a = 0;

double d = 10.21;

cout << sizeof(a + d);

 

return 0;

}


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 arraySizeof dapat digunakan untuk menghitung angka dari elemen array secara otomatis. Perhatikan contoh berikut ini:

Contoh program pada bahasa C

#include <stdio.h>

 

int main()

{

int arr[] = { 1, 2, 3, 4, 7, 98, 0, 12, 35, 99, 14 };

 

printf("Number of elements:%lu ", sizeof(arr) / sizeof(arr[0]));

 

return 0;

}


Contoh program pada C++

#include <iostream> 

using namespace std; 

 

int main() 

int arr[] = { 1, 2, 3, 4, 7, 98, 0, 12, 35, 99, 14 }; 

 

cout << "Number of elements: " <<(sizeof(arr) / sizeof(arr[0])); 

 

return 0

}


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 proses pengalokasiannya dapat dilakukan dengan bantuan dari sizeof.

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

Komentar

  1. Secara sederhana, apa kegunaan dari operator sizeof pada bahasa pemrograman C?

    BalasHapus
    Balasan
    1. Operator sizeof adalah operator yang digunakan secara umum dalam bahasa C. Operator sizeof adalah operator unary waktu kompilasi dan digunakan untuk menghitung ukuran nilai operannya. Operator sizeof mengembalikan nilai ukuran suatu variabel. Ketika sizeof() digunakan dengan tipe data tertentu, maka operator tersebut hanya mengembalikan jumlah memori yang dialokasikan untuk tipe data tersebut.

      Hapus
  2. sizeof adalah sebuah keyword yang terdapat dalam bahasa pemrograman C, namun keyword tersebut juga adalah operator kompilasi yang digunakan untuk menentukan ukuran dari suatu tipe data dalam satuan byte, dari suatu variabel atau tipe data tertentu. Operator sizeof dapat digunakan untuk mendapatkan nilai ukuran dari suatu class, struct, unions, dan tipe data lainnya yang ditentukan oleh user.

    BalasHapus
  3. Apakah size of dapat diterapkan pada tipe data apapun dalam bahasa pemrograman C?

    BalasHapus
    Balasan
    1. Hasil dari sizeof adalah tipe data integral unsigned yang biasanya dilambangkan dengan size_t. sizeof dapat diterapkan untuk tipe data apapun, termasuk tipe data primitif seperti tipe data integer, floating-point, pointer, ataupun tipe data gabungan seperti struct, union, dan lain sebagainya.

      Hapus

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D