#include <stdio.h>
#include <stdlib.h>
typedef struct {
unsigned length;
} List;
void init(List *l) {
l = (List *) malloc(sizeof(List));
l->length = 3;
}
int main(void) {
List *list = NULL;
init(list);
if(list != NULL) {
printf("length final %d \n", list->length);
return 0;
}
return 1;
}
Questa è una versione semplificata del codice che mi sta dando problemi. Sto cercando di costruire il puntatore *list
da un metodo in cui è passatocome parametro.C - Impossibile avviare un puntatore passato come argomento
So che posso fare il lavoro void init(List *l)
cambiandolo a void init(List **l)
ma questo è per un tutorial di classe. Non riesco a cambiare gli argomenti del metodo. Ho trascorso quattro ore a lavorare su questo.
Voglio garantire che non ci sia modo di far funzionare void init(List *l)
prima di affrontare il mio professore.
Grazie in anticipo
L'OP ha specificamente menzionato se è possibile evitarlo "void init (List ** l)" –
@Gunner indirizzato – meagar
L'assegnazione specifica che deve essere il costruttore. Ho intenzione di mandare un email al mio professore e chiedergli di cambiare i requisiti. Grazie per l'aiuto! –