Frage von Alinchen24, 11

array an unterprogramm übergeben in c?

hey meine frage ist wie ich ein array von einem typen übergeben lasse, sodass ich im unterprogramm damit weiterarbeiten kann.

Mein code:

include

include

include

typedef struct {

int nummer;

char *vorname;

char *nachname;

}student;

int test(student *p_array){

printf("%i", p_array.nummer);

return 0;

}

int main(){

student array= (student) malloc (sizeof(student));

int i=0;

for (i=0;i<20;i++){

array[i].nummer = 0;

array[i].vorname = 0;

array[i].nachname = 0;

}

student *p_array= &array[1];

test(p_array);

}

hoffe mir kann jemand helfen LG ALina :)

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von maximilianus7, 8

irgendwie hast du das prinzip  mit den speicherbereichen, pointer und arrays noch nicht verstanden. guck dir das bitte nocheinmal genau an, du hast da doch lehrmaterial?

 

Kommentar von Alinchen24 ,

Ja habe die Vorlesungen ^^ naja ich versuche iwie alles auszuprobieren und diese Möglichkeit war die wo der Compiler am wenigsten gemeckert hat xD

Kommentar von maximilianus7 ,

das bringt dir nix, entweder ist die vorlesung so schlecht, dann besorg dir ein buch oder such dir ein tutorial im web (ev. hier danach fragen).

oder du meinst du könntest das so locker überfliegen. kannst du aber nicht. C (und verwandte) ist bösartig. hat keinen pädagogischen anspruch. 

Antwort
von PWolff, 9

Du übergibst nicht das Array selbst, sondern einen Zeiger auf das Array (bzw. auf sein erstes Element) und die Länge des Arrays.

(Vergiss nicht, dass das erste Element eines Arrays den Index 0 hat.)

Keine passende Antwort gefunden?

Fragen Sie die Community