E' possibile fare una cosa del genere? Mi da un warning... dice che ci potrebbero essere errori di troncamento... se non va bene come potrei risolvere'??codice:nodo *tmp; int *v; .... v[i] = (int)tmp; //Salvo l'indirizzo del nodo ....
E' possibile fare una cosa del genere? Mi da un warning... dice che ci potrebbero essere errori di troncamento... se non va bene come potrei risolvere'??codice:nodo *tmp; int *v; .... v[i] = (int)tmp; //Salvo l'indirizzo del nodo ....
Il warning e' normale ... ma perche' non usi un vettore di puntatori a nodo ?
No MP tecnici (non rispondo nemmeno!), usa il forum.
l'idea mi piace.... non riesco a capire come lo dovrei dichiarare però.... :master:Originariamente inviato da oregon
Il warning e' normale ... ma perche' non usi un vettore di puntatori a nodo ?
Diciamo che ti servono 10 puntatori a nodo
nodo *v[10];
quindi puoi scrivere
v[i] = tmp;
No MP tecnici (non rispondo nemmeno!), usa il forum.
Beh allora tanto vale scrivereOriginariamente inviato da oregon
Diciamo che ti servono 10 puntatori a nodo
nodo *v[10];
quindi puoi scrivere
v[i] = tmp;
"nodo *tmp[10];"
no?
Non c'e' una scelta del genere da fare ... puo' servire il vettore separatamente dal singolo puntatore o no ...
Se non contestualizzi il discorso e' inutile prendere una qualsiasi strada ... a che serve tuo discorso ...?
No MP tecnici (non rispondo nemmeno!), usa il forum.
Allora.... io devo creare tutti i nodi del grafo.... solo dopo averli creati tutti, collegarli tra loro... quindi in qualche modo devo salvare l'indirizzo di ogni nodo....Originariamente inviato da oregon
Non c'e' una scelta del genere da fare ... puo' servire il vettore separatamente dal singolo puntatore o no ...
Se non contestualizzi il discorso e' inutile prendere una qualsiasi strada ... a che serve tuo discorso ...?
Oh ... potevi dirlo sin dall'inizio invece di partire da una richiesta cosi' strana ...
Se sai quanti sono, al massimo, i nodi, allora scrivi
nodo *nodi[10];
altrimenti utilizzi l'allocazione dinamica con
nodo **nodi;
...
nodi = (nodo **)malloc(n * sizeof(nodo *));
No MP tecnici (non rispondo nemmeno!), usa il forum.
mmm... allora... qui la cosa è piuttosto complessa perchè ho sempre avuto difficoltà a capire i puntatori a puntatori....
da quello che ho capito io un puntatore a puntatore è una "matrice"... però con il numero di righe variabile per ogni colonna.... spero di essermi spiegato... lasciando stare la parte teorica ora... dovrei cambiare il tuo codice in C++
il tuo era:[code]
nodi = (nodo **)malloc(n * sizeof(nodo *));[code]
in c++ penso che siacodice:nodi = n* new nodo*;
ci sono?
poi penso dovrei allocare ogni nodo tipo
nodi[i] = new nodo;