C语言定义并初始化一个二维数组(利用指针数组)

发布时间 2023-08-06 20:22:08作者: Guanjie255

C语言定义并初始化一个二维数组(利用指针数组),可以实现二位数组的每一行的元素个数不同

1.代码如下

#include <stdio.h>
#include <stdlib.h>

int main() {
    // arr是一个指针数组,即这个数组的所有元素都是指针,每一个元素都指向一个int型数组,每一个int型数组的长度可以不同
    int* arr[3] = {
        (int*)malloc(sizeof(int) * 3), \
        (int*)malloc(sizeof(int) * 6), \
        (int*)malloc(sizeof(int) * 4)
    };

    for (int i = 0; i < 3; i++) {
        // arr[0]是一个指针
        scanf("%d", &arr[0][i]);
    }

    for (int i = 0; i < 6; i++) {
        // arr[1]是一个指针
        scanf("%d", &arr[1][i]);
    }

    for (int i = 0; i < 4; i++) {
        // arr[2]是一个指针
        scanf("%d", &arr[2][i]);
    }

    return 0;
}