malloc动态申请一个数组
申请一维数组
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int *a, n;
scanf("%d", &n);
a = (int *)malloc(sizeof(int) * n);
for (int i = 0; i < n; i++){
a[i] = i;
printf("%d", a[i]);
}
puts("");
return 0;
}
申请多维数组
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
int **a, n, m, x = 0;
scanf("%d%d", &n, &m); //n为几维数组,m是一个中有几个元素
a = (int **)malloc(sizeof(int *) * n); //分配维数
for(int i = 0; i < n; i++)
a[i] = (int *)malloc(sizeof(int) * m); //分配各个元素
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++, x++){
a[i][j] = x;
printf("%d ", a[i][j]);
}
puts("");
return 0;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。