Matteo34
Nuovo Utente
- Messaggi
- 104
- Reazioni
- 3
- Punteggio
- 45
Rieccomi qua :)
Ho un problema con le strutture, ho provato a risolvere ma non capisco perché non compili, in pratica devo azzerare una struct(di interi) tramite una funzione, che prende come parametri un puntatore a struttura e la dimensione della struttura da azzerare.
Il primo codice che scrissi fu questo:
Mi sono accorto che, giustamente, assegnando un valore a un espressione non compila(anche se non sempre, non ho ancora capito perché).
Allora ho scritto un altro codice:
Ho pensato di risolvere il problema in questo modo, assegnando il nuovo indirizzo a "struct_pm1" e azzerando il valore puntato da quest'ultimo, così non avrei più assegnato un valore a un espressione,
però mi da il seguente erroe:
Per quale motivo non posso assegnare un intero se l'indirizzo puntato è un intero?
Ho un problema con le strutture, ho provato a risolvere ma non capisco perché non compili, in pratica devo azzerare una struct(di interi) tramite una funzione, che prende come parametri un puntatore a struttura e la dimensione della struttura da azzerare.
Il primo codice che scrissi fu questo:
C:
int zeroTheStruct(struct_t *struct_pm1, int dim)
{
if(dim == 0)
{
return 0;
}
while(dim > 0)
{
*(struct_pm1+dim) = 0; // non potrebbe compilare
dim--;
}
return 1;
}
Allora ho scritto un altro codice:
C:
int zeroTheStruct(struct_t *struct_pm1, int dim)
{
if(dim == 0)
{
return 0;
}
while(dim > 0)
{
struct_pm1 = (struct_pm1 + dim);
*struct_pm1 = 0; //error
dim--;
}
return 1;
}
però mi da il seguente erroe:
Codice:
incompatible types when assigning to type 'struct_t {aka struct <anonymous>}' from type 'int'