【发布时间】:2020-03-06 20:43:20
【问题描述】:
我想创建一个指针数组,其中每个指针指向一个二维浮点数组。二维数组是这样定义的
float a[][2] = {{1,0.5},{2,0.5},{3,0.5},{4,0.5}};
float b[][2] = {{1,1},{5,1},{4,0.5},{3,0.5},{2,0.5},{8,1}};
float c[][2] = {{1,0.333},{1,0.333},{1,0.334}};
每一个都有不同数量的行,但总是 2 列。我还有一个函数,我将其中一个数组作为参数发送,并且需要在其中使用一些值。假设它是这样的(还有其他与我需要使用的其他值相关的东西,但它与问题不太相关)
void take_values(float arr[][2]){
printf("%f ", arr[0][0]);
printf("%f ", arr[0][1]);
}
在 main() 中,我一直在像这样在每个数组上使用该函数
take_values(a);
take_values(b);
take_values(c);
我想找到一种方法在每个数组上迭代该函数。我正在考虑制作一个引用每个二维数组的指针数组,但我不知道如何定义和使用它。
- 如何定义指向每个二维数组的指针数组?
- 如何使用该指针数组将二维数组作为
take_values函数中的参数发送? - 如何访问
take_values函数内的数组的特定值? / 我还需要在那里使用指针还是保持现在的样子?
【问题讨论】:
标签: c arrays pointers multidimensional-array floating-point