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;
}

浙公网安备 33010602011771号