malloc()函数简介
- 头文件:<stdlib.h> 或者 <malloc.h>.
- 函数声明: void *malloc( int size );
- 用法: <mark>(分配类型 * )malloc( 分配元素个数 * sizeof ( 分配类型 ) )</mark>
1.动态一维数组
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,N;
scanf("%d",&N);
int *num;
num = (int *)malloc(N * sizeof(int));
for(i = 0 ; i < N ; i++)
scanf("%d" , &num[i]);
for(i = 0 ; i < N ; i++)
printf("%d " , num[i]);
printf("\n");
free(num);
return 0;
}
2.动态二维数组
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j,M,N;
scanf("%d %d" ,&M , &N);
int **num;
num = (int **)malloc(M * sizeof(int *));
for(i = 0 ; i < N ; i++)
num[i] = (int *)malloc(N * sizeof(int));
for(i = 0 ; i < M ; i++)
for(j = 0 ; j < N ; j++)
scanf("%d" , &num[i][j]);
for(i = 0 ; i < M ; i++)
{
for(j = 0 ; j < N ; j++)
printf("%d " , num[i][j]);
printf("\n");
}
for(i = 0 ; i < M ; i++)
free(num[i]);
return 0;
}