【发布时间】:2019-03-13 10:04:27
【问题描述】:
我想从函数中的引用中获取值。 我的功能是:
void print2D_A(double (*ary2D)[3][4]){ ... }
主要:
double ary2D[3][4] = {
{10.1, 11.2, 12.3, 13.4},
{20.1, 21.2, 22.3, 23.4},
{30.1, 31.2, 32.3, 33.4}
};
print2D_A(&ary2D);
获取函数中的第一个值:
*(ary2D)+1
【问题讨论】:
-
不要直接使用指针运算,正确使用数组索引。这将使您的代码更清晰,更易于阅读和理解。正如您在previous question 中提到的,不要将指针传递给数组(它非常很少需要)。
-
问题出在哪里?
-
好的,如果我在函数中写:cout
-
至于如何解决我认为您的问题,请记住 C 没有“2d”数组。您在这里拥有的是一个 数组 数组。为了帮助您了解它们的工作原理,我建议您将其画在一张纸上,然后用箭头画出指向不同位置的指针。
-
问题是,我得到的是地址而不是值..