int main()
{
int a[3]={1,2,3};
int *b;
b=&a[10];
printf("%u\n",b);
printf("%d",*b);
}
I thought that the above program would give me an error as a
is a collection of only 3 data items, and b=&a[10];
by this b
stored the address of the 11th data member of a
. But in place of error it gives the address of 11th data member.
Size of the array is 3 and but it can store the variables beyond of its size! so how does it possible?