Ich muss ein Programm schreiben, in dem Struktur mit zwei Feldern ist: Integer und String. Als nächstes muss ich eine Funktion schreiben, die diese Struktur dynamisch zuweist und int und string als Parameter verwendet, um sie an die zugewiesene Struktur weiterzuleiten. Diese Funktion gibt auch den Zeiger auf die neu erstellte Struktur zurück. Das zweite Element dieses Programms sollte eine Funktion sein, die den struct-Zeiger als Parameter akzeptiert, dann alle Dateien auf dem Bildschirm ausgibt und dann den Speicher von struct freigibt. Das ist das Beste, was ich mir vorstellen kann.Dynamische Speicherzuweisung einer Struktur
#include <stdio.h>
#include <stdlib.h>
struct str{
int num;
char text[20];
};
struct str* return_address(int *num, char *text){
struct str* new_struct=malloc(sizeof(struct str));
new_struct->num=num;
new_struct->text[20]=text;
return new_struct;
};
void release(struct str* s_pointer){
printf("%d %s", s_pointer->num, s_pointer->text);
free(s_pointer);
};
int main()
{
struct str* variable=return_address(1234, "sample text");
release(variable);
return 0;
}
Was ist die Frage? – sergej
Ich konnte dieses Programm nicht funktionieren lassen. Selbst wenn es kompiliert wird, stürzt es ab. –
Ich denke, 'new_struct-> Text [20] = Text;' ist nicht das, was Sie wollen –