Mengapa sizeof (my_arr) [0] mengkompilasi dan sizeof sama (my_arr [0])?
Mengapa kode ini dikompilasi? _Static uint32_t my_arr[2]; _Static_assert(sizeof(my_arr) == 8, ""); _Static_assert(sizeof(my_arr[0]) == 4, ""); _Static_assert(sizeof(my_arr)[0] == 4, ""); 2 menegaskan pertama jelas benar, tetapi saya akan berharap baris terakhir gagal, karena pemahaman saya adalah yang sizeof()harus mengevaluasi ke literer integer, yang tidak dapat diperlakukan sebagai array. Dengan kata lain, …