可以使用一维数组进行内存分配,并利用指针来访问二维数组中的元素。
以下是示例代码:
#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