A: http://www.fredosaurus.com/notes-cpp/arrayptr/26arraysaspointers.htmlC++ - puntatore aggiunta ed elemento di dimensioni
Sotto: Pointer addizione e elemento di dimensioni
C'è il seguente codice:
// Assume sizeof(int) is 4.
int b[100]; // b is an array of 100 ints.
int* p; // p is a a pointer to an int.
p = b; // Assigns address of first element of b. Ie, &b[0]
p = p + 1; // Adds 4 to p (4 == 1 * sizeof(int)). Ie, &b[1]
Come ha fatto "p" nel l'ultima riga diventa "4"?
Grazie.
Si noti che non è sempre 4. E 'solo che il più moderno I sistemi 32/64-bit sizeof (int) è 4. Ma su piattaforme più esotiche potrebbe essere qualsiasi cosa, quindi "assume sizeof (int) è 4" commento. –
Non proprio sistemi esoterici. Penso che i processori Arduino abbiano sizeof (int) è 2 – Falmarri