Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Operator sizeof memberikan jumlah penyimpanan, dalam byte, yang diperlukan untuk menyimpan objek dari jenis operand. Operator ini memungkinkan Anda menghindari penentuan ukuran data yang bergantung pada komputer dalam program Anda.
Sintaks
sizeof unary-expression
sizeof ( type-name )
Keterangan
Operand adalah pengidentifikasi yang merupakan unary-expression, atau ekspresi type-cast (yaitu, penentu jenis yang diapit dalam tanda kurung). Unary-expression tidak dapat merepresentasikan objek bit-field, jenis yang tidak lengkap, atau penunjuk fungsi. Hasilnya adalah konstanta integral yang tidak ditandatangani. Header standar STDDEF. H mendefinisikan jenis ini sebagai size_t.
Saat menerapkan operator sizeof ke pengidentifikasi array, hasilnya adalah ukuran seluruh array daripada ukuran penunjuk yang direpresentasikan oleh pengidentifikasi array.
Saat menerapkan operator sizeof ke nama jenis struktur atau union, atau ke pengidentifikasi jenis struktur atau union, hasilnya adalah jumlah byte dalam struktur atau union, termasuk padding internal dan trailing. Ukuran ini mungkin termasuk padding internal dan trailing yang digunakan untuk menyelaraskan anggota struktur atau union pada batas memori. Dengan demikian, hasilnya mungkin tidak sesuai dengan ukuran yang dihitung dengan menambahkan persyaratan penyimpanan masing-masing anggota.
Jika array yang tidak berukuran adalah elemen terakhir struktur, operator sizeof menghasilkan ukuran struktur tanpa array.
buffer = calloc(100, sizeof (int) );
Contoh ini menggunakan operator sizeof untuk meneruskan ukuran int, yang bervariasi di antara mesin, sebagai argumen untuk fungsi run-time bernama calloc. Nilai yang dihasilkan oleh fungsi disimpan di buffer.
static char *strings[] = {
"this is string one",
"this is string two",
"this is string three",
};
const int string_no = ( sizeof strings ) / ( sizeof strings[0] );
Dalam contoh ini, strings adalah array penunjuk ke char. Jumlah penunjuk adalah jumlah elemen dalam array, tetapi tidak ditentukan. Sangat mudah untuk menentukan jumlah penunjuk dengan menggunakan operator sizeof untuk menghitung jumlah elemen dalam array.
constNilai bilangan bulat string_no diinisialisasi ke angka ini. Karena ini adalah nilai const, maka string_no tidak dapat dimodifikasi.