Array von Zeigern auf Structs

Laik

Grünschnabel
Hallo an alle nochmal,

da ich hier relativ schnell gute Hilfe bekomme wende ich mich nochmal (wahrscheinlich nicht das letzte mal an euch).
Also es geht um folgendes.
Ich habe ein simplen Struct, z.B.

C:
typedef struct {
    char name[NAME_LEN+1];
    int personalnummer;
    float gehalt;
} angestellter;

Ich möchte einen Array von Zeigern auf einzelne Structs (zu Beginn NULL):

Code:
struct angestellter *array[10] = {NULL};

Ich hätte gerne eine Funktion, mit welcher ich auf das Array zugreifen kann und beispielsweise einzelne Structs anlegen kann.
Die Funktion soll erst einmal prüfen, ob
Code:
 array[i] == NULL
ist oder nicht.

Ich habe es mal irgendwie versucht:

Code:
void init(struct angestellter*(*ang)[]){
    int index;
    char name[40+1];
    int personalnummer;
    float gehalt;
    do {
        printf("Index eingeben: ");
        scanf("%d", &index);
        while(getchar() != '\n');
    } while (index<0 || index>9);
    if ((*ang)[index] == NULL){
        (*ang)[index]=(struct angestellter*)malloc(sizeof(struct angestellter));

        printf("Name: ");
        scanf("%40[^\n]", name);
        strcpy(((*ang)[index])->name,name);

        printf("Personalnummer: ");
        scanf("%d", &personalnummer);
        ((*ang)[index])->personalnummer = personalnummer;

        printf("Gehalt: ");
        scanf("%f", &gehalt);
        ((*ang)[index])->gehalt=gehalt;

    }else {
        delete(ang, index);
    }
    menue()
}

Hier muss ja nun ein Zeiger auf den Zeiger array übergeben werden.
Irgendwo ist aber der Fehler drin, denn wenn ich array[3] initialisiere und wieder ins Menü zurückgehe, ist der array[3] immer noch NULL.

Danke schonmal

LG
Laik
 
Zurück