【发布时间】:2016-05-30 06:55:10
【问题描述】:
我无法理解内存分配。
例如,如果我有一个结构如下:
struct AccountInfo{
int number;
int balance;
int past[9];
int minimum_past;
int maximum_past;
};
如何访问数组past[9]?一个更直接的问题是如何找到past 的最小值和最大值,然后将这些值分配给minimum_past 和maximum_past?
我知道将结构中的成员设置为某些值,我可以做类似AccountInfo -> number = 10; 的事情,但对于数组我仍然感到困惑。
【问题讨论】:
-
过去[12]??过去[9] 已定义。此外,AccountInfo->number 无效。您将不得不为此创建一个结构指针。否则,您可以将结构变量设为 acc 并使用 acc.number。同样, acc.past[i] 为您提供过去数组的第 i 个元素。
-
怎么过去[12]?不是最大尺寸索引 8 吗? pass[9] 的最大索引是过去[8]。
-
AccountInfo info; /* set up its values */; int* min = std::min_element(std::begin(info.past), std::end(info.past));(同样使用std::max_element())。 -
糟糕,这是一个错字。对此感到抱歉。