Ciao a tutti, ho un problema la cui soluzione penso sia abbastanza banale, non capisco proprio come risolvere:
creo una struttura di nome "nodo" contenente un valore intero ed un 2 puntatori ad una struttura dello stesso tipo. Poi nel main creo due di questi nodi; uno dei 2 puntatori del primo nodo, punta al secondo nodo, metre gli altri puntatori sono NULL. Praticamente creo un piccolo albero binario con nodo radice ed un figlio sinistro. Vorrei poi passare ad una funzione il figlio sinistro(cioè il secondo nodo) tramite il puntatore del primo nodo(radice); so che in generale, per riferirsi a CIO' A CUI PUNTA UN PUNTATORE si usa l'asterisco *.Se io ad esempio scrivo:
int x =3;
int* p;
p=&x;
printf("il valore è:%d", *p)
printf stamperà 3. Non so come realizzare la stessa cosa con il caso di prima dei nodi; riporto qui sotto il codice per i nodi:
#include <stdio.h>
#include <math.h>
// creo la struttura nodo
struct nodo { int value;
struct nodo* left;
struct nodo* right; } ;
void stampa ( struct nodo t) {
printf("il nodo vale: %d\n", t.value);
}
int main() {
// creo un albero composti dai seguenti nodi
struct nodo n1,n2;
// nodo 1
n1.value = 1;
n1.left = &n2;
n1.right = NULL;
// nodo 2
n2.value = 2;
n2.left = NULL;
n2.right = NULL;
stampa(n1.*left); // qui non capisco come passare correttamente il parametro !!!!!!!!!!
return 0;
}