欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

C语言:使用malloc开辟一个3*4的二维数组,并将内容初始化为1-12.

来源: 开发者 投稿于  被查看 29427 次 评论:231

C语言:使用malloc开辟一个3*4的二维数组,并将内容初始化为1-12.


方法一:
 
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int(*p)[4] = (int (*)[4])malloc(12 * sizeof(int));//数组指针
     
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 4; j++)
        {
            *(*(p + i) +j) = i * 4 + j + 1 ;
        }
    }
     
    for ( i = 0; i < 3; i++)
    {
        for (j = 0; j < 4; j++)
        {
            printf("%d\t", *(*(p + i) + j));
        }
    }
     
    printf("\n");
    system("pause");
    return 0;
}

 

 
 
    方法二: 
 
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i = 0;
    int j = 0;
    int **p = (int **)malloc(3 * sizeof(int));
    for (i = 0; i < 3; i++)
    {
        *(p + i) = (int *)malloc(4 * sizeof(int));
    }
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 4; j++)
        {
            p[i][j] = 4 * i + j + 1;
        }
    }
     
    for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 4; j++)
        {
            printf("%d ", *(*(p + i) + j));
        }
         
    }
    system("pause");
    return 0;
}

 

 

用户评论