I ist nach definieren undefiniert solange ihm kein Wert explizit zugewiesen wurde.
Genauer: i hat den Wert der an der aktuellen Speicherstelle drin steht
Clark
Das widerspricht sich.
Deklaration: int i;
Definition: i = 4;
Deklaration mit anschließender Definition: int i = 4;