To be more precise and not use the C function, so that the array is passed by a pointer to a function ( printf()here), you can use a pointer to an array here:
for ( i = 0 ; i < 4 ; i++ ) {
int (*ptr)[2] = &(s[i]);
printf ( "\nAddress of %d th 1-D array = %p\n", i, (void*)ptr) ;
}
The difference between s[i]and &(s[i])is that it s[i] is a 1d array, a type int[2]where &(s[i])is a pointer to int[2]what you want here.
, , sizeof: sizeof(s[i]) is 2 * sizeof(int) , sizeof(&(s[i])) .