[ad_1]
bagaimana operator sizeof() menghitung ukuran array
Apa yang saya coba:
Saya menulis sizeof(x) untuk menghitung ukuran array tetapi saya tidak mendapatkan hasil yang diharapkan.
Solusi 1
sizeof
mengembalikan jumlah byte yang digunakan oleh parameter: untuk array, ukuran setiap elemen dikalikan dengan jumlah elemen.
Coba ini:
C
#include <stdio.h> int main() { int arr[10]; printf("%lu:%lu\n", sizeof(arr), sizeof(arr[0])); return 0; }
Dan Anda akan mendapatkan hasil “40:4”: total array menggunakan 40 byte memori, dan masing-masing dari 10 elemen dalam array menggunakan 4 byte.
Solusi 2
Satu tambahan kecil: ekspresi yang Anda tulis,
C
sizeof( x ) / sizeof( x[0] )
digunakan untuk menghitung jumlah item dalam array. Hal ini sama dengan apa yang terjadi _countof
makro melakukannya di VisualStudio C++.
Untuk meringkas tiga ekspresi dan hasilnya int x[8]
:
sizeof(x) size in bytes of x : 32 sizeof(x[0]) size in bytes of one item of x : 4 sizeof(x)/sizeof(x[0]) number of items in x : 8
[ad_2]
コメント