PDA

Visualizza la versione completa : [c] non riesco ad accedere alla struttura


Lucked
01-07-2004, 23:35
ciao a tutti..mi controllate questo prg?
non va bene la strcpy fatta cosi? non riesco ad accedere alla struttura puntata dal puntatore interno alla prima struttura...



#include <stdio.h>

typedef enum {ERROR, OK} status;

typedef struct{
char targa[100];
char marca[100];
char modello[100];
} record_auto;

typedef struct a{
record_auto *puntatore;
int primalibera;
int size;
} *database_auto;

database_auto make(int dim);


int main()
{
database_auto db = make(10);

strcpy(db->puntatore[db->primalibera]->targa, "luca");

}


//faccio le assegnazioni
database_auto make(int dim)
{
database_auto db = (database_auto) malloc(sizeof(struct a));
db -> puntatore = (record_auto *) malloc(dim * sizeof(record_auto));
db -> primalibera = 0;
db -> size = dim;
return db;
}

Lucked
01-07-2004, 23:42
cosi funziona: :ciauz:

strcpy(db->puntatore[db->primalibera].targa, "luca");

anx721
02-07-2004, 00:21
Scrivendo:

puntatore[db->primalibera]

hai giÓ deferenziato con l'operatore [] il campo puntatore e quindi ottieni direttamente la struttura, e per accedere ai suoi campi utilizzi l'operatore '.' e non '->',

:ciauz:

Lucked
02-07-2004, 00:23
si si..avevo intuito grazie :ciauz:

Loading