我們知道,C語言中的數組大小是固定的,定義的時候必須要給一個常量值,不能是變量。
這帶來了很大的不便,如果數組過小,不能容下所有數組,如果過大,浪費資源。
請實現一個簡單的動態數組,能夠隨時改變大小,不會溢出,也不會浪費內存空間。
下面的代碼實現了簡單的動態數組:
#include <stdio.h>#include <stdlib.h>int main(){ //從控制臺獲取初始數組大小 int N; int *a; int i; printf("Input array length:"); scanf("%d",&N); //分配空間 a=(int *)calloc(N,sizeof(int)); //填充數據 for(i=0;i<N;i++){ a[i]=i+1; printf("%-5d",a[i]); if((i+1)%10==0){ printf("/n"); } } //釋放內存 free(a); a=NULL; printf("/n"); return 0;}
運行結果:
Input array length:201 2 3 4 5 6 7 8 9 1011 12 13 14 15 16 17 18 19 20
新聞熱點
疑難解答
圖片精選