【发布时间】:2018-01-15 08:56:01
【问题描述】:
进入C/C++ 仅一周时间。我有一个函数,它将指向数组的指针作为参数。在函数内部操作这个输入数组会导致另一个(全局定义的)数组发生变化。
我需要在这个(全局定义的)浮点数组中找到并返回最小值的地址。在 C++ 中,我可以使用 std::min_element() 相对轻松地做到这一点,因为这会返回一个迭代器。有什么办法可以在C中做到这一点?我可以编写一个循环来查找数组中的最小值,但不确定如何访问其地址?这是(伪)代码。
globalArray[100] = {0}
float *DoSomething(float *array)
{
if (conditionMet == 1)
{ Do something to array that modifies globalArray;}
float min;
min = globalArray[0];
for (int i = 0; i <100; i++)
{
if (globalArray[i] < min)
min = globalArray[i];
}
return &min;
}
【问题讨论】:
-
发布您当前的代码,以便我们为您提供帮助。
-
没有一些代码很难说出你在问什么,但它不只是
return &array[minIndex];吗? -
一周同时学习两种不同的语言?哇。就个人而言,我会选择一个。
-
C 和 C++ 尽管表面上相似,但它们是非常非常不同的语言。不要混淆两者。
-
完全明白C和C++是不同的。正如我所说,我对如何使用 std::min_element 在 C++ 中完成此任务有一定的了解。但也需要在 C 中执行此操作。