allocation de memoire d'une liste de struct
bonjour,
j'essaye de comprendre un peu le concept de malloc, je ne sais pas comment le faire pour une array de struct.
Code:
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
| #include <stdio.h>
#include <stdlib.h>
typedef struct {
int id;
char name[30];
int rooms;
} Hall_info;
main (){
FILE *fp;
char line[256];
int nh, f=0,j;
Hall_info *h;
h = (Hall_info*) malloc(sizeof(Hall_info));
if (h == NULL) {
fprintf(stderr, "out of memory\n");
exit(1);
}
fp = fopen("residencehalls.txt","r");
while( fgets(line, 256, fp) ){
if (line[0] != '#'){
sscanf(line, "%s %i %i", h[f].name, &h[f].id, &h[f].rooms, );
nh++;
} f++;
} fclose(fp); |
compile, mais ne me donne une seg fault... et meme pas le message d'erreur "out of memory". Je pense avoir loupe un episode.
Des idees sur comment resoudre le probleme?
merci