#include int main(void) { int a = 101; /* a is an int */ 5 int* pa; /* pa is a pointer to an int */ 6 int* *ppa; /* ppa is a pointer to a pointer to an int */ printf( "\nThis is the output from %s:\n\n", argv[0] ); printf( "a is %d, &a is %x\n", a, (int) &a ); 7 pa = &a; printf( "pa is %x, &pa is %x\n", (int) pa, (int) &pa ); 8 ppa = &pa; printf( "ppa is %x, &ppa is %x\n", (int) ppa, (int) &ppa ); /* At this point we have created a pointer chain: ppa -> pa -> a */ printf( "All these are the same: a %d, *pa %d, **ppa %d\n", a, *pa, **ppa ); return (0); }