From 5a08a4e1e055a0a702a54cfa867d7fdebf2c1ad7 Mon Sep 17 00:00:00 2001 From: Anhgelus Morhtuuzh Date: Fri, 19 Sep 2025 12:16:41 +0200 Subject: Cours du 15 au 19 septembre --- .../tme/tme1-2/exo1/tme1_exo1p2.c" | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 "semestre 3/structures des donn\303\251es/tme/tme1-2/exo1/tme1_exo1p2.c" (limited to 'semestre 3/structures des données/tme/tme1-2/exo1/tme1_exo1p2.c') diff --git "a/semestre 3/structures des donn\303\251es/tme/tme1-2/exo1/tme1_exo1p2.c" "b/semestre 3/structures des donn\303\251es/tme/tme1-2/exo1/tme1_exo1p2.c" new file mode 100644 index 0000000..fb99ee7 --- /dev/null +++ "b/semestre 3/structures des donn\303\251es/tme/tme1-2/exo1/tme1_exo1p2.c" @@ -0,0 +1,33 @@ +#include +#include +#include + +typedef struct adresse { + int numero; + char* rue; + int code_postal; +} Adresse; + +Adresse* creer_adresse(int n, char* r, int c) { + Adresse* new = (Adresse*) malloc(sizeof(Adresse)); + + new->numero = n; + /* l'erreur dans ce code etait que new->rue n'etait pas assez grand pour contenir 'r' + * de plus, le pointeur n'allait pas etre persistant, donc on a besoin de rajouter un malloc + * pour la regler, je l'ai donc initialisee + */ + new->rue = (char*) malloc(sizeof(char)*strlen(r)); + strcpy(new->rue, r); + new->code_postal = c; + + return new; +} + +int main(void) { + Adresse* maison = creer_adresse(12, "manoeuvre", 15670); + + printf("Adresse courante : %d rue %s %d France\n", maison->numero, maison->rue, maison->code_postal); + + return 0; +} + -- cgit v1.2.3