Kompilierfehler: bei Anfrage nicht etwas Struktur- oder Vereinigungsfehler

In diesem Programm versuche ich, eine Struktur zu erstellen und dann ein Array mit diesem Strukturtyp zu initialisieren, Namen und Alter in das Array einzufügen und die Ergebnisse auszudrucken. Wenn ich die Datei kompiliere, heißt es jedoch, dass "Namen" und "Alter" keine Struktur oder Vereinigung sind. Kann jemand meine Fehler erkennen, bitte. Vielen Dank

#include <stdio.h>
#include <stdlib.h>

/* these arrays are just used to give the parameters to 'insert',
   to create the 'people' array */
char *names[7]= {"Simon", "Suzie", "Alfred", "Chip", "John", "Tim",
          "Harriet"};
int ages[7]= {22, 24, 106, 6, 18, 32, 24};


/* declare your struct for a person here */
typedef struct{
  char *names;
  int ages; 
}  person;

static void insert (person **p, char *s, int n) {

   *p = malloc(sizeof(person));

  static int nextfreeplace = 0;

  /* put name and age into the next free place in the array parameter here */
    (*p)->names=s;
    (*p)->ages=n;

  /* modify nextfreeplace here */
  nextfreeplace++;
  }

int main(int argc, char **argv) {

  /* declare the people array here */
   person *p[7];

   //insert the members and age into the unusage array. 
  for (int i=0; i < 7; i++) {
    insert (&p[i], names[i], ages[i]);
    p[i]= p[i+1];
  }

  /* print the people array here*/
  for (int i=0; i < 7; i++) {
    printf("name: %s, age:%i\n", p[i].names, p[i].ages);
  }

}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage