小编Mr *_*rno的帖子

结构X中的结构X?

这可能很简单,但是如何在C中的struct x中得到一个struct x?例如:

typedef struct _Node {
    Node node;
} Node;
Run Code Online (Sandbox Code Playgroud)

我做了一些研究并尝试使用指针,如下所示:

typedef struct _Node {
    struct Node *node;
} Node;
Run Code Online (Sandbox Code Playgroud)

虽然这会将变量节点作为指针(我不想要),但我只想让它成为Node结构的一个实例.谢谢你的帮助.:)

编辑:

基本上我要做的是:

Node current = createNode(...);
while (true) {
    Node node = createNode(..., &current);
    addToList(node);
    current = somethingElse();
}
Run Code Online (Sandbox Code Playgroud)

你可以想象,我想要一个常规节点进入createNode()函数:

Node createNode(..., Node node) {}
Run Code Online (Sandbox Code Playgroud)

c recursion struct

6
推荐指数
2
解决办法
175
查看次数

C中数组的动态内存分配

所以我正在尝试使用malloc在C中创建一个动态数组,但由于某种原因它没有用完.这是我的代码:

    int* test = (int*) malloc(20 * sizeof(int));
    printf("Size: %d\n", sizeof(test));
Run Code Online (Sandbox Code Playgroud)

当我运行这段代码时,控制台输出8,尽管理想情况下它应该输出80,我相信,因为int的大小是4,而我正在创建20个.那么为什么这不起作用呢?谢谢你的帮助.:)

c memory arrays malloc dynamic

3
推荐指数
1
解决办法
506
查看次数

标签 统计

c ×2

arrays ×1

dynamic ×1

malloc ×1

memory ×1

recursion ×1

struct ×1