Pointers
Pointer Arithmetic
Pointer arithmetic moves by element positions, not raw byte counts.
Pointer Arithmetic
pointer_arithmetic.c
#include <stdio.h>
int main(void) {
int values[4] = {2, 4, 6, 8};
int offset = ;
int *base = values;
int item = *(base + offset);
printf("item=%d\n", item);
return 0;
}
#include <stdio.h>
int main(void) {
int values[4] = {2, 4, 6, 8};
int offset = ;
int *base = values;
int item = *(base + offset);
printf("item=%d\n", item);
return 0;
}
#include <stdio.h>
int main(void) {
int values[4] = {2, 4, 6, 8};
int offset = ;
int *base = values;
int item = *(base + offset);
printf("item=%d\n", item);
return 0;
}
element step
`ptr + offset` advances by `offset` elements of the pointed-to type.
array base
An array name can provide a pointer to its first element.