Co nie :D Ja też to zrozumiałem o wiele później.
Ale już fajnie tłumaczę: zadeklarowanie np. funkcji, to powiedzenie, że taka oto funkcja istnieje i można ją wykorzystać. Zdefiniowanie funkcji, to powiedzenie, co ta konkretna funkcja ma robić. No i czemu definicja może być jednocześnie deklaracją? Bo możesz zrobić tak:
int funkcja(); //deklaracja funkcji
int funkcja() //definicja funkcji
{
//cialo funkcji
}
A możesz też tak:
int funkcja() //definicja (i jednocześnie deklaracja) funkcji
{
//cialo funkcji
}
W pierwszym przypadku najpierw była deklaracja funkcji, a potem jej definicja. W drugim przypadku deklaracja (stworzenie) i definicja (ciało) tejże funkcji nastąpiła jednocześnie!
Mam nadzieję, że już wszystko zrozumiałeś i wytłumaczyłem to "łopatologicznie" ;)
Pozdrawiam i życzę miłej lektury!