如何编写通用列表操作函数?

前端之家收集整理的这篇文章主要介绍了如何编写通用列表操作函数?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是编程的初学者,请放轻松我,我发现很难得到我的问题的答案.我无法理解复杂的代码.有人可以用简单的编码来解释我如何编写接受任何类型元素的通用列表操作函数?提前致谢.

解决方法

这通常使用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&C++相关文章