gpt4 book ai didi

C语言——将矩阵表示为指针数组

转载 作者:太空宇宙 更新时间:2023-11-04 07:15:32 24 4
gpt4 key购买 nike

我试图将矩阵表示为指针数组,然后对矩阵执行某些操作。

为了进一步简化,想象一个具有 n 行和 m 列的矩阵,

我定义了一个 int **matrix,它指向大小为 n 的(指针)数组的开头。这个数组中的每个 block 都是一个指针,指向一个大小为 m 的数组(整数)。结果很清楚。你有 n 指针,每个指针都指向一个 m 整数数组,总的 nxm 值。所以应该可以用这种方式表示矩阵。

我的问题是我不知道如何访问矩阵的整数值。例如,假设我想向矩阵中插入值。如何访问 matrix[i][j]

这是我的代码,你可以看到它是不完整的,我很感激帮助完成它。

int** create_matrix(int rows,int columns)
{
int** matrix,i;
matrix=(int**)malloc(rows*sizeof(int*));
for(i=0;i<rows;i++)
*(matrix)+i=(int*)malloc(columns*sizeof(int));
for(i=0;i<rows;i++)
{
for(j=0;j<columns;j++)
*(*(matrix)+i)

我想在矩阵中插入随机数,然后返回它。我分配了必要的内存,只需要插入实际值。

最佳答案

int** matrix,i,j;
matrix=malloc(rows*sizeof(int*));
for(i=0;i<rows;i++)
*(matrix+i)=malloc(columns*sizeof(int)); //or matrix[i]=malloc(columns*sizeof(int));
for(i=0;i<rows;i++)
{
for(j=0;j<columns;j++)
*(*(matrix+i)+j)=random(); //or matrix[i][j]=random();
}
return matrix;

注意 matrix 括号的变化

关于C语言——将矩阵表示为指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25118407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com