從鍵盤輸入若干資料到陣列中,可選用的方法:預估最大資料個數,按此數值定義陣列空間,完成資料輸入#defineMAX_NUM1000inta[MAX_NUM]; 這種方法定義陣列,方便,安全。缺陷是陣列空間大小受系統限制,資料太多了,就不能這樣定義了。執行時,確定輸入資料個數,採用指標動態定義陣列,或C99提供的動態陣列的方法實現int*p;intn; printf("inputn:");scanf("%d",&n);//輸入資料個數(1)p=(int*)malloc(n*sizeof(int));//動態分配空間 不用了記得要釋放free(p)或 (2)intpa[n]; //C99支援的動態陣列,按n值動態定義陣列還可以採用指標動態擴充陣列方法:先分配一定的大小,當陣列不夠用時,再重新分配空間。#defineINIT_LEN100 預分配空間#defineINCE_LEN10 每次擴充空間int*p=(int*)malloc(INIT_LEN*sizeof(int));intlength=INIT_LEN;不足時,length+=INCE_LEN; p=(int*)realloc(p,length);//擴充空間
從鍵盤輸入若干資料到陣列中,可選用的方法:預估最大資料個數,按此數值定義陣列空間,完成資料輸入#defineMAX_NUM1000inta[MAX_NUM]; 這種方法定義陣列,方便,安全。缺陷是陣列空間大小受系統限制,資料太多了,就不能這樣定義了。執行時,確定輸入資料個數,採用指標動態定義陣列,或C99提供的動態陣列的方法實現int*p;intn; printf("inputn:");scanf("%d",&n);//輸入資料個數(1)p=(int*)malloc(n*sizeof(int));//動態分配空間 不用了記得要釋放free(p)或 (2)intpa[n]; //C99支援的動態陣列,按n值動態定義陣列還可以採用指標動態擴充陣列方法:先分配一定的大小,當陣列不夠用時,再重新分配空間。#defineINIT_LEN100 預分配空間#defineINCE_LEN10 每次擴充空間int*p=(int*)malloc(INIT_LEN*sizeof(int));intlength=INIT_LEN;不足時,length+=INCE_LEN; p=(int*)realloc(p,length);//擴充空間