blob: fb99ee7bd180f46d6e90af1415533824ede9dcd2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
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;
}
|