The difference between array[0][1] and array[0][0] is one array element. The size of the difference is whatever the size of the array element is. So for an array containing char the difference will be 1 and for an array containing long it will be 8 on a 64 bit machine.
The difference between array[1][0] and array[0][0] is however many array elements are in a row (for an array of 1000 x 1000 it will be 1000 array elements). The size of the difference is whatever the size of the array element is multiplied by the number of array elements that are in a row. So for an array of 1000 x 1000 containing char the difference will be 1 x 1000 and for the same size array containing long it will be 8 x 1000 on a 64 bit machine.
Here is an example program that uses 10 x 10 arrays:
#include <stdio.h>
int main()
{
#define ARRAY_WIDTH 10
#define ARRAY_HEIGHT 10
char CArray[ARRAY_HEIGHT][ARRAY_WIDTH];
short SArray[ARRAY_HEIGHT][ARRAY_WIDTH];
long LArray[ARRAY_HEIGHT][ARRAY_WIDTH];
printf("&CArray[0][1] - &CArray[0][0] = %ld (%p-%p) sizeof(char) = %lu\n",
(long)(&CArray[0][1]) - (long)(&CArray[0][0]), &CArray[0][1], &CArray[0][0], sizeof(char));
printf("&SArray[0][1] - &SArray[0][0] = %ld (%p-%p) sizeof(short) = %lu\n",
(long)(&SArray[0][1]) - (long)(&SArray[0][0]), &SArray[0][1], &SArray[0][0], sizeof(short));
printf("&LArray[0][1] - &LArray[0][0] = %ld (%p-%p) sizeof(long) = %lu\n",
(long)(&LArray[0][1]) - (long)(&LArray[0][0]), &LArray[0][1], &LArray[0][0], sizeof(long));
printf("&CArray[1][0] - &CArray[0][0] = %ld (%p-%p) sizeof(char) * ARRAY_WIDTH = %lu\n",
(long)(&CArray[1][0]) - (long)(&CArray[0][0]), &CArray[1][0], &CArray[0][0], sizeof(char) * ARRAY_WIDTH);
printf("&SArray[1][0] - &SArray[0][0] = %ld (%p-%p) sizeof(short) * ARRAY_WIDTH = %lu\n",
(long)(&SArray[1][0]) - (long)(&SArray[0][0]), &SArray[1][0], &SArray[0][0], sizeof(short) * ARRAY_WIDTH);
printf("&LArray[1][0] - &LArray[0][0] = %ld (%p-%p) sizeof(long) * ARRAY_WIDTH = %lu\n",
(long)(&LArray[1][0]) - (long)(&LArray[0][0]), &LArray[1][0], &LArray[0][0], sizeof(long) * ARRAY_WIDTH);
return 0;
}
This program produces the following output (remember my arrays are only 10 x 10):
&CArray[0][1] - &CArray[0][0] = 1 (0x7ffcff4045e1-0x7ffcff4045e0) sizeof(char) = 1
&SArray[0][1] - &SArray[0][0] = 2 (0x7ffcff404652-0x7ffcff404650) sizeof(short) = 2
&LArray[0][1] - &LArray[0][0] = 8 (0x7ffcff404728-0x7ffcff404720) sizeof(long) = 8
&CArray[1][0] - &CArray[0][0] = 10 (0x7ffcff4045ea-0x7ffcff4045e0) sizeof(char) * ARRAY_WIDTH = 10
&SArray[1][0] - &SArray[0][0] = 20 (0x7ffcff404664-0x7ffcff404650) sizeof(short) * ARRAY_WIDTH = 20
&LArray[1][0] - &LArray[0][0] = 80 (0x7ffcff404770-0x7ffcff404720) sizeof(long) * ARRAY_WIDTH = 80
Have a look here: https://onlinegdb.com/BJwpNDBYB