Devo creare un array di record ma senza la dimensione dell'array fissata.Come lo definisco?
Devo creare un array di record ma senza la dimensione dell'array fissata.Come lo definisco?
in che linguaggio ?
in c scusa
in C non si chiamano record ma struct .
Un array di struct si alloca dinamicamente con malloc, e la memoria si libera con free .
Fai attenzione che dopo aver allocato lo spazio per l'array devi allocare lo spazio per ogni singola struct.
ciao
sergio
posto il mio codice:
struct eleaula{
char *n_aula;
char *ind;
int cap;
};
struct eleaula vetaula;
e poi quando chaimo la funzione:
creavet(&vetaula,int n,char c,char i,int ca);
void creaule(struct eleaula *A,int i,char *nom_aul,char *ind_a,int cap_aul)
{
eleaula *p=(eleaula)malloc(sizeof(eleaula);
A[i].n_aula=nom_aul;
A[i].ind=ind_a;
A[i].cap=cap_aul;
}
dovrebbe essere qualcosa del tipo
codice:typedef struct { char c; char * str; int i; } my_struct ; int main () { unsigned int dim_array = 10; my_struct *s = ( my_struct * ) malloc ( dim_array * sizeof (my_struct) ); free ( s ) ; return (0); }