Array e malloc
Maurizio Paolini
paolini a dmf.bs.unicatt.it
Mar 7 Maggio 2002 13:09:47 UTC
> From: Carlo <magnifex a infinito.it>
> Subject: Array e malloc
>
> Per proseguire il discorso...
>
> Ho una struct
>
> orso {
> int cane;
> int gatto;
> char nome[20];
> }
>
> struct orso jolly[uno][due][tre];
>
> con
>
> int uno,due,tre;
>
> come faccio a dichiarare jolly come puntatore e soprattutto ad allocarlo con
> malloc?
>
> Per dichiararlo pensavo struct orso ***jolly e poi?
No. Attenzione che in C gli array a piu' di una dimensione hanno comunque
un solo livello di indirezione, ovvero "jolly" e' in sostanza un puntatore
a una "struct orso". Quindi "struct orso *jolly".
Deve essere allocata con qualcosa del tipo:
jolly= (struct orso *) malloc (dim1*dim2*dim3*sizeof(struct orso));
dove dim1, dim2, dim3 sono i tre valori massimi dei 3 indici.
(Pero' stai attento, e' pericoloso avventurarsi con le matrici a piu' indici:
e' facile sbagliarsi)
mp
>
> Carlo
>
Maggiori informazioni sulla lista
Lug
|