【问题标题】:understanding structure function *adds and rel_list [closed]理解结构函数 *adds 和 rel_list [关闭]
【发布时间】:2015-12-07 18:32:15
【问题描述】:

我试图了解此函数的 *adds 部分的作用:

【问题讨论】:

  • 你应该熟悉函数签名、指针和函数指针

标签: c pointers struct structure


【解决方案1】:

我认为你应该阅读更多关于pointers的信息


* 中的*addsadds 无关,而是与返回类型相关联。

更像是这样..

struct list* adds(struct data *head, void fun)

现在很容易看出adds 是一个返回pointer to struct list 的函数。


这是声明pointer to a function的方式

void (*free_fun)(void *)

从名字free_fun开始阅读。 free_fun 是一个*,所以pointer 是一个函数,它接受参数(void *) 并返回void

【讨论】:

    【解决方案2】:

    struct list *adds(struct data *head, void fun) 是一个名为adds 的函数,它返回一个指向struct 类型为list 的指针。

    void rel_list(struct data *dta, void (*free_fun)(void *)) 是一个函数,它接受 data 类型的 struct 和原型为 void something(void *in) 的函数指针

    【讨论】:

      【解决方案3】:

      adds 函数返回一个指向列表类型结构的指针。

      rel_list 函数不返回任何内容。

      free_fun 是一个指向不返回任何内容的函数的指针。

      【讨论】:

      • 非常感谢您的回复! *free_fun 在第二个函数中做了什么?它是指向 rel_list 类型结构的指针吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多