home *** CD-ROM | disk | FTP | other *** search
- /* ArrayTrickery.c - corrected*/
- /* Dynamically create multidimensional arrays in C.
- From TrickyS@aol.com, aka meidscsinc@engvms.unl.edu
- Inspired by AFC Radix1@aol.com, MCart@aol.com, &RickGenter@aol.com,
- who all answered my inquiry as to how to do this!
- Updated for Squeegee.
- This version SHOULD WORK on the MAC.
- I have gotten it to work on a DEC/VAX also.
- */
-
- /* As a final note, I would encourage anybody programming
- seriously in C to buy a copy of the text "Numerical Recipes in C".
- This book provides a wealth of utility functions, numerical and otherwise.
- Best of all, THEY WORK!
- */
-
- /* I replaced the <= with < to avoid overstepping
- array bounds. Sorry about that! */
-
- #include <stdio.h>
- #include <stdlib.h> /* Oops! I forgot this before. */
-
- main()
- {
- float ***array;
- short x=3, y=4, z=5, i, j, k;
-
- array = (float***)malloc(x*sizeof(float**));
- for(i=0; i<x; i++)
- {
- array[i] = (float**)malloc(y*sizeof(float*));
- for(j=0; j<y; j++)
- {
- array[i][j] = (float*)malloc(z*sizeof(float));
- for(k=0; k<z; k++)
- array[i][j][k] = i+j+k;
- }
- }
- for(i=0; i<x; i++)
- {
- for(j=0; j<y; j++)
- {
- for(k=0; k<z; k++)
- printf("\narray[%d][%d][%d] = %f",i,j,k,array[i][j][k]);
- }
- }
- return 0;
- }
-