gpt4 book ai didi

c - 如何在c中创建结构的新实例

转载 作者:太空宇宙 更新时间:2023-11-04 01:03:58 24 4
gpt4 key购买 nike

我是 C 的新手,因此仍在努力学习这门语言。我在头文件中创建了一个链表结构,我正在尝试创建该结构的一个新实例。我知道在 java 中你可以使用 new 运算符,但我如何在 c 中模仿这种行为?传统上我会想到以下几点:

linked.h 中的代码

typedef struct linked_list{
//assuming node type is implemented
node *next_node;
}

linked.c 中的代码

linked_list *link = NULL;
link = malloc(number_nodes);
link->node_value = 10;

您能提供的任何帮助对我都非常有帮助,因为我很难理解这个概念。

最佳答案

malloc 需要知道要分配多少 bytes,因此您需要将节点数乘以一个节点的字节大小。

改变:

link = malloc(number_nodes);

link = malloc(number_nodes * sizeof(*link));

或者如果您只想要一个结构:

link = malloc(sizeof(*link));

关于c - 如何在c中创建结构的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28399871/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com