Memeriksa Ukuran Variabel Bahasa C Menggunakan Sizeof
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.
#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;
}
4
4
8
#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;
}
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.
Contoh: pada bahasa C
#include <stdio.h>
int main()
{
int a = 0;
double d = 10.21;
printf("%lu", sizeof(a + d));
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int a = 0;
double d = 10.21;
cout << sizeof(a + d);
return 0;
}
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
#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;
}
#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;
}
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));
- Penjelasan Singkat, Operator Inkrementasi dan Ekspresi L-value pada Bahasa C [klik]
- Penjelasan Singkat, Predesesor Postfix dan Prefix ++ Bahasa C [klik]
- 4 Contoh Program Modulus Angka Negatif pada Bahasa C [klik]
- 4 Contoh Program Menggunakan Operator Ternary pada Bahasa C dan C++ [klik]
- 2 Contoh Program Preincrement (Predecrement) pada Bahasa C [klik]
- 3 Contoh Program Perbedaan ++*p, *p++, dan *++p pada Bahasa C [klik]
- Penjelasan Singkat, Hasil Operasi Perbandingan pada Bahasa C dan C++ [klik]
Secara sederhana, apa kegunaan dari operator sizeof pada bahasa pemrograman C?
BalasHapusOperator 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.
Hapussizeof 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.
BalasHapusApakah size of dapat diterapkan pada tipe data apapun dalam bahasa pemrograman C?
BalasHapusHasil 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