wsxiot的博客

IT民工搬砖记录

c语言二维数组初始化的方式

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int **arr;
    int m=3,n=4,i,j;
    arr = (int **)malloc(sizeof(int*)*m);
    for(i=0; i<m; i++)
        arr[i] = (int *)malloc(sizeof(int)*n);

    for(i=0; i<m; i++)
        for(j=0; j<n; j++)
            arr[i][j] = i*10+j;

    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
        {
            printf("%d ",arr[i][j]);
        }
        printf("\n");
    }

    for(i=0; i<m; i++)
        free(arr[i]);

    free(arr);
    return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int m=3,n=4,i,j;
    int *storage;
    int **matrix;
    storage = (int *)malloc(sizeof(int) * m*n);
    matrix = (int **)malloc(sizeof(int *) * m);
    for(i=0; i<m; i++)
        matrix[i] = &storage[i*n];

    for(i=0; i<m; i++)
        for(j=0; j<n; j++)
            matrix[i][j] = i*10+j;

    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
            printf("%d ", matrix[i][j]);
        printf("\n");
    }

    free(storage);
    free(matrix);
    return 0;
}
阅读更多
版权声明:如有侵权,请联系,如有错误,望指正,欢迎转载 https://blog.csdn.net/qq_29630271/article/details/72454462
个人分类: c/c++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭