C,动态数组
动态数组,顾名思义,可以根据输入的字符串确定数组大小。
一维
#include <stdio.h> #include <stdlib.h> int main() { int n1,i; int *array; puts("输入一维长度:"); scanf("%d",&n1); array=(int*)malloc(n1*sizeof(int));//第一维 for(i=0;i<n1;i++) { array[i]=i+1; printf("%d\t",array[i]); } free(array);//释放第一维指针 return 0; }
二维数组
#include <stdlib.h> #include <stdio.h> int main() { int n1,n2; int **array,i,j; puts("输入一维长度:"); scanf("%d",&n1); puts("输入二维长度:"); scanf("%d",&n2); array=(int**)malloc(n1*sizeof(int*)); //第一维 for(i=0;i<n1; i++) { array[i]=(int*)malloc(n2* sizeof(int));//第二维 for(j=0;j<n2;j++) { array[i][j]=i+j+1; printf("%d\t",array[i][j]); } puts(""); } for(i=0;i<n1;i++) { free(array[i]);//释放第二维指针 } free(array);//释放第一维指针 return 0; }