Ho riscontrato un problema durante l'inizializzazione di una matrice di strutture. Non sono sicuro se lo sto facendo bene perché ottengo "l'inizializzazione dal tipo di puntatore incompatibile" & "assegnazione da tipo di puntatore incompatibile". Ho aggiunto nel codice in cui ottengo questi avvertimenti, e quando provo a stampare i dati dalla struct ottengo solo spazzatura come ad esempio @@ ###C - initialize array of structs
typedef struct
{
char* firstName;
char* lastName;
int day;
int month;
int year;
}student;
// inizializza serie
student** students = malloc(sizeof(student));
int x;
for(x = 0; x < numStudents; x++)
{
//here I get: "assignment from incompatible pointer type"
students[x] = (struct student*)malloc(sizeof(student));
}
int arrayIndex = 0;
// aggiunge struct
//create student struct
//here I get: "initialization from incompatible pointer type"
student* newStudent = {"john", "smith", 1, 12, 1983};
//add it to the array
students[arrayIndex] = newStudent;
arrayIndex++;
Il codice sembra essere a metà strada tra la creazione dinamica di una matrice di strutture studente e la creazione dinamica di una serie di puntatori alle strutture degli studenti, e quindi la creazione dinamica di ogni struttura di studenti a cui è indirizzato. Non è ovvio quale stai cercando di fare, il che rende difficile rispondere a questo. –