Ciao, ho scritto questo semplice programma per cercare di capire come utilizzare nelle funzioni gli indirizzi delle variabili per poterle modificare automaticamente, solo che non gira e non riesco a capire quale errore ho fatto.
Potete darmi una mano?
Grazie.
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
struct nodo
{int vertice;
struct nodo *next;
};
modifica(struct nodo *l);
main()
{struct nodo *puntatore;
struct nodo *primo_elemento;
puntatore = (struct nodo *)malloc(sizeof(struct nodo));
puntatore->vertice = 1;
primo_elemento = puntatore;
puntatore->next=(struct nodo *)malloc(sizeof(struct nodo));
puntatore=puntatore->next;
puntatore->vertice = 2;
puntatore->next=(struct nodo *)malloc(sizeof(struct nodo));
puntatore=puntatore->next;
puntatore->vertice =3;
puntatore->next = NULL;
printf("Il primo nodo è: %d\n",primo_elemento->vertice);
modifica(&primo_elemento);
printf("Adesso è: %d",primo_elemento->vertice);
}
modifica(struct nodo *l)
{struct nodo *temp;
temp = &l;
*temp->vertice = 4;
}