#include using namespace std; /* run this program using the console pauser or add your own getch, system("pause") or input loop */ //目的:練習,動態陣列(可以做記憶體管理的陣列,可以建立,可以被刪除delete) //注意:傳統陣列,一旦建立後,就無法被delete,無法做記憶體管理 //所以:若要做動態陣列,必須用『指標陣列來建立』,不能用傳統陣列 //練習範例:迴圈輸入全班同學,的各科成績,然後計算全班平均分數 //結論:可以用指標變數,來取代陣列變數(優點:可以delete記憶體配置) int main(int argc, char** argv) { //1.變數 //numStu:學生人數 //numSubject:科目數 //scoreStu:學生平均分數 //scoreSubject:科目分數 int numStu = 3; int numSubjet = 2; //2.輸入成績 //(1)陣列變數 //double scoreStu[3]; //double scoreSubject[3][2]; //(2)指標變數 double * scoreStu = new double[3]; //double * scoreSubject = new double[2]; // //人數迴圈 for(int i=0;i<3;i++) { //科目分數 輸入, 與平均計算 //每個人有兩個科目 /// 使用指標變數,來建立動態陣列 ///// //scoreSubject 是個動態陣列, 在迴圈起始處宣告, 在迴圈結尾處刪除 //scoreSubject 就是個"暫時性的變數" = 動態陣列 //傳統陣列的缺點:無法被刪除 //所以: 指標陣列, 可以取代, 傳統陣列 //所以: 指標陣列: 用法相同(scoreStu[0]), 但是宣告不同 double * scoreSubject = new double[2]; cout<<"第"<<(i+1)<<"個學生, 數學成績 = "; cin>>scoreSubject[0]; cout<<"第"<<(i+1)<<"個學生, 英文成績 = "; cin>>scoreSubject[1]; scoreStu[i] = (scoreSubject[0] + scoreSubject[1])/2; delete scoreSubject; } cout<