/* * ===================================================================== * Illustrate pointer arithmetic with floats. * ===================================================================== * Copyright (C) 1993-96 by Mark Austin and David Mazzoni. * * This software is provided "as is" without express or implied warranty. * Permission is granted to use this software on any computer system, * and to redistribute it freely, subject to the following restrictions: * * 1. The authors are not responsible for the consequences of use of * this software, even if they arise from defects in the software. * 2. The origin of this software must not be misrepresented, either * by explicit claim or by omission. * 3. Altered versions must be plainly marked as such, and must not * be misrepresented as being the original software. * 4. This notice is to remain intact. * * Written By : D. Mazzoni and M. Austin January 1994 * ===================================================================== */ #include /* for printf() prototype */ int main( void ) { enum { Max = 10 }; int iCounter = 0; float faArray[ Max ]; float * fpFloats = faArray; /* [a] : Initialize each float to the square of its index */ for( iCounter = 0; iCounter < Max; ++iCounter ) faArray[iCounter] = iCounter * iCounter; /* [b] : Reset the counter , and print the values */ iCounter = 0; while( iCounter++ < Max ) { printf( "*(%p) = %f\n", fpFloats, *fpFloats ); fpFloats++; } }