#include #include #define SIZE 10 typedef struct dynArrStruct { double value1; int value2; int value3; } dynArr; typedef dynArr* dynArrPtr; void init (dynArr* a) { dynArr temp; temp.value1 = (double)(rand()) * rand() / rand(); temp.value2 = rand() % 100; temp.value3 = rand() % 1000; printf ("In init(): value1: %14.5f, value2: %6d, value3: %6d\n", temp.value1, temp.value2, temp.value3); a = &temp; } int main (int argc, char**argv) { struct dynArrStruct a1[SIZE]; dynArr* a2[SIZE]; int i; for (i = 0 ; i < SIZE; ++i) { init (&(a1[i])); printf ("In main(): value1: %14.5f, value2: %6d, value3: %6d\n", a1[i].value1, a1[i].value2, a1[i].value3); } printf ("\n"); for (i = 0 ; i < SIZE; ++i) { printf ("In main(): value1: %14.5f, value2: %6d, value3: %6d\n", a1[i].value1, a1[i].value2, a1[i].value3); } printf ("\nRepeating with a2\n"); for (i = 0 ; i < SIZE; ++i) { init (a2[i]); printf ("In main(): value1: %14.5f, value2: %6d, value3: %6d\n", a2[i]->value1, a2[i]->value2, a2[i]->value3); } printf ("\n"); for (i = 0 ; i < SIZE; ++i) { printf ("In main(): value1: %14.5f, value2: %6d, value3: %6d\n", a2[i]->value1, a2[i]->value2, a2[i]->value3); } }