这可能很简单,但是如何在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(..., ¤t);
addToList(node);
current = somethingElse();
}
Run Code Online (Sandbox Code Playgroud)
你可以想象,我想要一个常规节点进入createNode()函数:
Node createNode(..., Node node) {}
Run Code Online (Sandbox Code Playgroud) 所以我正在尝试使用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个.那么为什么这不起作用呢?谢谢你的帮助.:)