Discussione: C/C++ e strutture
View Single Post
Old 01-03-2007, 10:16   #2
yorkeiser
Senior Member
 
L'Avatar di yorkeiser
 
Iscritto dal: Jul 2006
Cittā: Tristram
Messaggi: 517
Per le strutture, come per qualsiasi tipo di dato in c, hai bisogno di allocare memoria solo quando fai allocazione dinamica, ergo usi i puntatori. Nel caso dichiari una variabile statica, di tipo struttura, l'allocazione di memoria viene fatta automaticamente.

Ti riporto un banale esempio che illustra la definizione di una struttura e la dichiarazione di una variabile di tipo struttura e di un puntatore alla struttura, che vanno gestiti in maniera differente

Codice:
int main()
{

typedef struct
{
	int a;
	int b;
} my_struct;

my_struct x;	// variabile di tipo my_struct
my_struct* y;	// puntatore a my_struct

x.a=8;	//corretta (non ho allocato nulla)

y=(my_struct*)malloc(sizeof(my_struct));	//se ometti questa allocazione, l'istruzione seguente va in errore
y->a=9;
}
__________________
Il sole č giallo
yorkeiser č offline   Rispondi citando il messaggio o parte di esso