/*NICE PROGRAM TO PRESENT WORKING OF ARRAY OF POINTER*/
#include<stdio.h>
int main()
{
char *arr[]={"hello","hi","bye","bye"};//array of pointer..a array in which no. of strings in continues address may take place by leaving 1 space in between them..
char **p[]={arr+0,arr+1,arr+2,arr+3};//array of double pointer will have address of 1st array
printf("p=%s\n%s\n%s\n%s",*(*(p+0)),*(*(p+1)),*(*(p+2)),*(*(p+3)));//so pointer of double poiter will hold address of arrays of another pointer...& pointer to that will have value that array tht is string in this case...
char **s[]={&arr[0],&arr[1],&arr[2],&arr[3]};////array of double pointer will have address of 1st array
printf("s=%s\n%s\n%s\n%s",*(*(s+0)),*(*(s+1)),*(*(s+2)),*(*(s+3)));////so pointer of double poiter will hold address of arrays of another pointer...& pointer to that will have value that array tht is string in this case...
//printf("last=%s\n",*arr[2]);//this will give sementation fault