Bagikan melalui


Compiler Warning (level 4) C4295

'array' : array terlalu kecil untuk menyertakan karakter null yang mengakhiri

Array diinisialisasi tetapi karakter terakhir dalam array bukan null; mengakses array sebagai string dapat menghasilkan hasil yang tidak terduga.

Contoh

Sampel berikut menghasilkan C4295. Untuk memperbaiki masalah ini, Anda dapat mendeklarasikan ukuran array yang lebih besar, untuk menahan penghentian null dari string penginisialisasi, atau Anda dapat menggunakan daftar inisialisasi array untuk memperjelas niat bahwa ini adalah array dari char, bukan string yang dihentikan null.

// C4295.c
// compile with: /W4

int main() {
   char a[3] = "abc";           // C4295
   char b[3] = {'d', 'e', 'f'}; // No warning
   a[0] = b[2];
}