Dlaczego kompilator nie wykrywa ograniczeń w ciągłej inicjalizacji ciągów?
Przeczytałem to pytanie i jego odpowiedź w książce. Ale nie rozumiałem uzasadnienia książki.
Czy następujący kod zostanie skompilowany?
int main()
{
char str[5] = "fast enough";
return 0;
}
Odpowiedź brzmiała:
Tak. Kompilator nigdy nie wykrywa błędu, jeśli przekroczone zostaną granice tablicy.
Nie mogłem tego zdobyć.
Czy ktoś może to wyjaśnić?