gpt4 book ai didi

c - 通用列表操作函数是如何编写的?

转载 作者:太空狗 更新时间:2023-10-29 17:12:57 28 4
gpt4 key购买 nike

我是编程初学者,请放轻松,我发现很难得到我问题的答案。我无法理解复杂的代码。有人可以用简单的代码向我解释通用列表操作函数是如何编写的,它接受任何类型的元素吗?提前致谢。

最佳答案

这通常使用 void 指针来完成:

typedef struct node {
struct node *next;
void *data;
} node;

node *insert(node *list, void *data) {
}

node *delete(node *list, node *to_delete) {
}

此类操作函数不依赖于实际数据类型,因此可以通用地实现它们。例如,您可以为上面的数据字段设置一个数据类型结构:

typedef struct data {
int type;
void *data;
} data;

/* .... */
data d;
d.type = INT;
d.data = malloc(sizeof(int));
node n = {NULL, (void*)&data);

关于c - 通用列表操作函数是如何编写的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13927044/

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