/* File: express.c Using pointers in an expression. */ #include #include "genlib.h" #include "simpio.h" main () { int i = 3, j = 5, *p, *q, *r ; int result ; p = &i ; q = &j ; if ( p == &i ) { printf("p is pointing to i.\n") ; } /* Double dereferencing works */ result = **&p ; printf("result = %d\n", result) ; /* Deferenced pointers are expressions */ result = 7 * *p / * q + 7 ; printf("result = %d\n", result) ; /* All these asterisks get confusing */ result = (* (r = & j) *= *p) ; printf("result = %d\n", result) ; } ----------------------------------------------- p is pointing to i. result = 3 result = 11 result = 15