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.
Ich möchte einen Array von Zeigern auf einzelne Structs (zu Beginn 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
ist oder nicht.
Ich habe es mal irgendwie versucht:
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
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
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