PDA

View Full Version : Semplice domanda sulle strutture


9abs
20-04-2020, 09:29
salve,
correggetemi se sbaglio
..

se uso il:

typedef struct mystruct * st_1;

in questo caso si definisce st_1 come un puntatore a struttura, con futura possibilità di fare un allocazione dinamica per contenere più strutture?

chiedo perchè sto avendo difficoltà con alcuni esercizi che mi vanno in core dump penso possibile sbaglio nell'allocazione di st_1, in questo modo fatta:

st_1=malloc(sizeof(mystruct)*n);

non posto il file dell'esercizio perchè ha molte pagine anche di header quindi evito molto codice da farvi analizzare.

misterx
20-04-2020, 10:36
struct mystruct
{
char nome[20];
char cognome[20];
char cell[20];
};

typedef struct mystruct pippo;

pippo *st_1;

st_1 = (struct mystruct *)malloc(sizeof(mystruct) * 10);

free(st_1);


con typedef definisci un nuovo tipo di dato, ma lo sai già. L'asterisco non piace al compilatore in quanto il tipo puntatore è già in uso.


struct mystruct
{
char nome[20];
char cognome[20];
char cell[20];
};

struct mystruct *st_1;


st_1 = (struct mystruct *)malloc(sizeof(mystruct) * 10);

free(st_1);