gpt4 book ai didi

c - 我应该使用哪种类型的函数?

转载 作者:行者123 更新时间:2023-11-30 14:42:42 27 4
gpt4 key购买 nike

我有一个以 wchar_t 字符串作为数据的单链表。如果我想添加一个新节点并用文本填充它,我应该使用哪种类型的函数?

我尝试使用我的链表类型,但我不确定这是否是一个好方法。会不会是这样的?

typedef struct smth{
wchar_t data;
struct smth *next;
}smth;

smth* add_to_end(wchar_t *text, smth *head){
.
.
.
}

我决定不输入整个代码,只是尽可能少地显示我在这里所做的事情并询问它应该是什么样子?

最佳答案

使用这一行:wchar_t data;,您只能存储一个宽字符。

关于您显示的函数smth* add_to_end(wchar_t *text, smth *head):无需在此函数中传递指向 wchar_t 的指针,因为在节点定义中您打算仅保留单个宽字符。

如果您不想使 head 指针全局化,那么我认为您每次调用 add_to_end 时都需要传递新的 head code> 以及 data。然后这个函数返回链表的更新后的 head ,您可以稍后在代码中的某个地方收集它。返回的 smth* 将成为新的头。

在函数 add_to_end 中,您可能需要执行以下操作:

// Assuming prototype as smth* add_to_end(wchar_t text, smth *head)
struct tmp* = malloc(sizeof(struct));
if(tmp == NULL)
{
printf("\nMemory allocation failed");
return NULL;
}
tmp->data = text;
tmp->next = head;
head = tmp;
return tmp;

关于c - 我应该使用哪种类型的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54347172/

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