可以使用一维数组进行内存分配,并利用指针来访问二维数组中的元素。
以下是示例代码:
#include 
#include 
int main()
{
    int rows = 3, cols = 4;
    int i;
    int *array = malloc(rows * cols * sizeof(int));
    // 对二维数组赋值
    for(i = 0; i < rows * cols; i++)
    {
        array[i] = i + 1;
    }
    // 使用指针访问二维数组中的元素
    for(i = 0; i < rows * cols; i++)
    {
        printf("%d ", *(array + i));
        if((i + 1) % cols == 0)
        {
            printf("\n");
        }
    }
    free(array); // 释放内存
    return 0;
}
  
输出:
1 2 3 4  
5 6 7 8  
9 10 11 12