/* * ===================================================================== * Illustrate pointer arithmetic with floats. * * Copyright (C) 1998 by Mark Austin and David Chancogne. * * 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 : Mark Austin * ===================================================================== */ #include /* for printf() prototype */ int main( void ) { enum { Max = 10 }; float faArray[ Max ]; float * fpFloats = faArray; int iCounter = 0; /* [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++; } }