#include<stdio.h>
main()
{
int a[2][2][2] = {
{10,2,3,4}, {5,6,7,8} };
int *p,*q;
p=&a[2][2][2]; // only 0 and 1 location of array can be accessed.
*q=***a;
printf("%d----%d",*p,*q);
}
Answer:
SomeGarbageValue---1
Explanation:
p=&a[2][2][2] you declare only two 2D arrays, but you are
trying to access the third 2D(which you are not declared) it will print garbage
values. *q=***a starting address of a is assigned integer pointer. Now q is
pointing to starting address of a. If you print *q, it will print first element
of 3D array.