所以我正在尝试制作一个前缀树,但我不确定这是否会导致某种逻辑错误?
typedef struct TreeTag
{
char letter;
struct TreeTag *links[26]; /* Is this advisable? */
int fullword;
int linknum;
}TreeNode;
最佳答案
是的,允许指向结构节点的指针数组
如果你这样做:
struct node * p; //it's allowed
所以声明指针数组没有问题。
当你需要多个指向同一结构的指针时,你可以这样做
struct node * left;
strcut node * right;
那你为什么不能这样做
struct node *child[2];
同样 struct node *p[26]
也是可能的,但一切都取决于您的要求和实现。
一个需求,正如我想到的d-ary tree
(其中每个节点有d个节点)
并且您想直接从父节点导航到它的子节点。
所以 struct node *child[d]
是合法的(其中 d 是 #defined
)
关于c - 是否可以制作一个指向结构(节点)的指针数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541583/