gpt4 book ai didi

c - 将 Objective C 中的多数组传递给函数

转载 作者:太空宇宙 更新时间:2023-11-04 02:18:20 25 4
gpt4 key购买 nike

我正在尝试传递一个多数组(例如 3x3)以使用 Objective C 以矩阵类型形式打印。我对这门语言还很陌生,被困住了。我可以传递一个数组,但是对于多个数组,我得到错误数组类型具有不完整的元素类型。

void printMat(float value[][], int rows, int col)
{
int j, k;
float printpt;

//Handles coloum printing
for (k=0; k<col; k++)
{
NSLog(@"/n");
//Handles row printing
for (j=0; j<rows; j++)
{
printpt = value[j][k];
NSLog(@"%f ", printpt);
}
}
}

我正在尝试调用该函数

printMat(A, n, n)

其中 A 是 float A[30][30],n=30。实现此目的或传递多维数组的最佳方法是什么?

最佳答案

将其作为float *value 传递,然后适本地计算数组中的偏移量。 值[j*cols+k]

备注:data is held in the following order - 第一行(全部),第二行(全部)等)。

value[] 并非不完整,因为它的行为与 value* 相同。

但是,value[][] 是不完整的,因为它无法在不知道第二个维度的情况下理解第一个 [] 数组下标。出于同样的原因,语句 value[j][k] 没有意义 - 不知道行大小,如何寻址列?

float value[][30] 工作正常,但不会帮助你,因为你想提供可变大小。

关于c - 将 Objective C 中的多数组传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4227023/

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