牛骨文教育服务平台(让学习变的简单)
博文笔记

malloc动态申请一个数组

创建时间:2017-03-14 投稿人: 浏览次数:501

申请一维数组

#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;
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。