Come fa un compilatore C (sto usando GCC) a sapere cosa fare con quanto segue?Com'è possibile che una struttura C faccia riferimento a se stessa?
struct node
{
int x;
struct node* next;
};
Più precisamente, se node
deve ancora essere ancora completamente definita (non abbiamo ancora raggiunto la parentesi graffa di chiusura), quindi come fa il compilatore sa quanto è grande uno struct dovrebbe essere?
Mentre mi rendo conto che "puntare a" richiede solo un indirizzo, i puntatori incrementali richiedono la dimensione dei dati a cui punta.
Gli incrementi del puntatore vengono gestiti solo dopo che il/i tipo/i sono stati determinati completamente. Altrimenti riceverai errori che menzionano "tipi incompleti". –