- 104
- 3
- CPU
- i5-10500 3.2Ghz
- Dissipatore
- Non specificato
- Scheda Madre
- Non specificata
- HDD
- M.2 251GB e M.2 500GB
- RAM
- 16GB DDR4 2666mhz
- GPU
- Grafica Intel® UHD 630
- Audio
- Non specificata
- Monitor
- 1920x1080 27"
- PSU
- Non specificato
- Case
- Non specificato
- Periferiche
- Nono specificato
- Net
- Eolo
- OS
- Ubuntu
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'