Ragazzi sarà un errore banale ma non lo capisco anche perché sono sicuro di seguire alla lettera le slides della lezione. ma comunque ecco quello che faccio
fuori dal main dichiaro la struttura albero e le funzioni di creazione in questo modonel main mi dichiaro una variabile radice e richiamo la funzione crea_abrcodice:struct albero{ int inf; struct albero*sx; struct albero*dx; }; struct albero*crea_abr(void); void inserisci_nodo(struct albero**,int);e poi dentro la funzione eseguo questi procedimenticodice:radice=crea_abr();ma all'atto di compilare ho questo errore:codice:struct albero*crea_abr(void){ struct albero*q=NULL; int x; printf("inserisci elemento nell'albero premi 0 per terminare\n"); do{ scanf("%d",&x); if(x!=0) inserisci_nodo(&q,x); } while(x!=0); return q; } void inserisci_nodo(struct albero**q,int x){ if(*q==NULL){ *q=(struct albero**)malloc(sizeof(struct albero *)) (*q)->inf=x; (*q)->sx=NULL; (*q)->dx=NULL; } else{ if(x<=(*q)->inf) inserisci_nodo(&((*q)->sx),x); else inserisci_nodo(&((*q)->dx),x); } }
In function `void inserisci_nodo(albero**, int)':
linea 42 `malloc(12u)' cannot be used as a function