#include #include #include float degrees_to_radians(float degrees) { return M_PI * degrees / 180.0; } // Simple function to populate an integer array void PopulateTheArray ( int Size, float ArrayData[]) { int i; // Variable to use in our loop for ( i = 0 ; i < Size ; i++) { ArrayData[i] = degrees_to_radians(i); // Treat it like a normal array } } // Simple function do display contents an integer array void DisplayTheArray ( int Size, float ArrayData[]) { int i; // Variable to use in our loop for ( i = 0 ; i < Size ; i++) { printf ("%d\t%0.3f\n", i, ArrayData[i]); } } // Main () - execution starts here int main (void) { int iSizeForArray; float *pData; // A pointer to hold the base address of out array // Ask for the size of the array and store result printf("Please enter the size of the array to dynamically allocate: "); scanf ("%d", &iSizeForArray); // Use calloc with checking pData = calloc( iSizeForArray, sizeof (float)); // Check we got the memory if ( pData == NULL) { printf ("Sorry, I could not allocate the memory, bye!\n"); return -1; } // Pass the size, iSizeForArray) and the pointer created // which points to the start of the sucesfully allocated memory PopulateTheArray(iSizeForArray, pData); DisplayTheArray(iSizeForArray, pData); free(pData); // Free up the memory before exiting return (0); // Exit indicating sucess }