簡單地定義結構爲:
struct monthlyData {
float rainfall;
float highTemp;
float lowTemp;
float avgTemp;
};
然後創建這個結構的陣列,在功能,在你需要它:
void f() {
monthlyData month[12];
//use month
}
現在數組是不是一個全局變量。它是一個局部變量,並且您必須將此變量傳遞給其他函數,以便其他函數可以使用相同的數組。這裏是你如何把它傳遞:
void otherFunction(monthlyData *month) {
// process month
}
void f() {
monthlyData month[12];
// use month
otherFunction(month);
}
注意otherFunction
假設數組的大小是12
(恆定值)。如果大小可以是任何東西,那麼你就可以做到這一點,而不是:
void otherFunction(monthlyData *month, int size) {
// process month
}
void f() {
monthlyData month[12];
// use month
otherFunction(month, 12); //pass 12 as size
}
請添加作業標籤。 – 2011-08-30 05:59:39
你有沒有線索,因爲你不知道任何其他類型的變量,除了全球的變量? – Sean