C语言 两个结构体之间的双指针的用法是什么?

g6ll5ycj  于 2023-04-19  发布在  其他
关注(0)|答案(2)|浏览(108)

我试图理解一些事情。我想要一个节点,我想要另一个节点,它具有我试图构建的表的属性

typedef struct Node {
    char *data;
    int moredata;
    struct Node *next;
} Node;

typedef struct Nodewrapper {
    int size;
    int elements;
    Node ** nodeptr;
} Nodewrapper;

nodeptrNodewrapper中有什么功能?我如何使用nodeptr访问Node中的内容?以这种方式访问内容的正确语法是什么?

jecbmhm3

jecbmhm31#

以这种方式访问内容的正确语法是什么?
要从struct NodeWrapper访问Node,正确的语法是解引用nodeptr两次,因为它是指向指针的指针。

Nodewrapper some_nodewrapper = {/* whatever */};
Node some_node == **some_nodewrapper.nodeptr;
puts(some_node.data);
mkshixfv

mkshixfv2#

我只能猜测,但可能size存储了多少指针,elementd有多大的结构数组被这些指针引用。
这些字段的类型应为size_t

相关问题