/* parith.c: Illustrates pointer arithmetic */
#include <stdio.h>
#include <stddef.h> // for ptrdiff_t
int main() {
float a[] = {1.0, 2.0, 3.0}, *p = &a[0];
ptrdiff_t diff;
printf("sizeof(float) == %u\n",sizeof(float));
printf("p == %p, *p == %f\n", p, *p);
p += 2;
printf("p == %p, *p == %f\n", p, *p);
diff = p - a; // a == &a[0]
printf("diff == %ld\n", diff);
diff = (char*)p - (char*)a;
printf("diff == %ld\n", diff);
return 0;
}