Here is the problem program:
#include int main() { int apricot[2][3][5]; int (*r)[5]=apricot[0]; int *t=apricot[0][0]; printf
r is a pointer to an array of 5 ints.
r
Assuming 1 int is 4 bytes on your system (from t and t+1), then "stepping" that pointer by 1 (r+1) means an increase in 5*4 = 20 bytes. Which is what you get here.
t
t+1
r+1