Code:
// In main():
// (1) Define variables...
char (*metals)[30];
double *aValues;
double *bBalues;
double *minTemp;
double *maxTemp;
int records;
// (2) Call your function...
getDatabase(metals, aValues, bValues, minTemp, maxTemp, &number);
// Definition of getDatabase().
void getDatabase(char metals[][30], double aValues[], double bValues[],
double minTemp[], double maxTemp[], int *number)
{
getDbName();
openDbByName();
*number = readDbHeader();
allocRecords(metals, aValues, bValues, minTemp, maxTemp, number);
readDbData(metals, aValues, bValues, minTemp, maxTemp, number);
closeDb();
}
void allocRecords(char metals[][30], double aValues[], double bValues[],
double minTemp[], double maxTemp[], int *number)
{
// Set $metals, $aValues, $bValues, $minTemp, $maxTemp to point to
// appropriately sized (based on value of $number) malloc()'ed memory.
}
Main point is that type-name variable-name[] is the same as type-name *variable-name.