Supponiamo di avere un puntatore uint8_t
al terzo elemento di un array, {1, 2, 4, 5} quindi *p
è 4. Come posso farlo puntare a 4 e 5 in modo che *p
sia 45. È persino possibile? Attualmente sto convertendo in tipografia. Ecco cosa faccio, ad es. se i dati è la mia serie {1, 2, 4, 5} e voglio ottenere 4 e 5.Come puntare il puntatore a due o più celle consecutive
uint8_t dummyAddress = data[2];
dummyAddress = *((uint16_t*) dummyAddress);
*p = *dummyAddress;
mia comprensione è che p dovrebbe ora puntare a 4 e 5, ma io non sono. Invece ottengo un errore di seg quando eseguo la seconda linea. p è un uint64_t * const
. Funziona per ottenere un byte, ma quando si applica la stessa logica a due byte non riesco a farlo bene.
Fornire codice completo (dichiarazione array, tipi di variabili utilizzate, ...). –
Dovresti compilare con un livello di avviso più alto e ascoltare gli avvisi del compilatore. –
Nel tuo codice 'dummyAddress' non è un puntatore –