Quina diferència hi ha entre declaració i definició d’estructura?


Resposta 1:

La definició d'una estructura implica dir al compilador què és i fa aquesta estructura. Quan definiu una funció, normalment digueu al vostre compilador quins paràmetres s’han de passar i retornar i quin bloc de codi s’hauria d’executar. És el mateix que la definició d’una paraula: dius a l’ordinador què significa “una funció determinada”.

La declaració permet al compilador tenir coneixement de l'existència d'una estructura determinada, sense que l'estructura s'hagi definit correctament.

En C i C ++, és possible que tingueu una funció definida després del bloc de codi que l’anomena, o fins i tot en un altre fitxer. El compilador recopila el codi de manera seqüencial.

Si el meu bloc () principal fa referència a una funció anomenada test (), però aquesta funció encara no ha estat definida o declarada, obtindreu un error, tal com ho faríeu si intentéssiu fer referència a una variable unititzada. Al dir al compilador "bé, ho definiré més endavant en el codi, no us preocupeu", ho fa notant i només fa pedaços al codi una vegada que arribi a la definició de la funció més endavant.