我不是肯定的,这甚至是可能的,但我基本上试图在其中定义一个具有相同结构的数组的结构,如此
struct Node {
int numMatches = 0;
Node* leaves[26] = {};
};
每个节点都包含一个固定长度的指向其他节点(表示字母)的指针数组。我正试图通过这些节点进行递归,在需要时进入相关的叶子。我会初始化一个“头”节点*数组并向下冒泡。这是立即断言,我可以看出为什么会这样 - 它不知道分配给这样的结构数组的内存量。不太确定如何解决问题。
非常简单的问题,但我没有找到任何具有同样问题的C ++ / C特定线程。
谢谢!
答案 0 :(得分:1)
在struct
中,您没有使用same struct
的数组,而是使用pointers to the same struct
的数组 - 这会产生不同。
Pointers
已知长度(例如32位操作系统中的32位),无论他们指向哪个对象,所以你的结构只是分配(可能)
mumMatches
26 * 32位= 26 * 4字节= leaves
共108个字节