关于 C 中函数定义的混淆

标签 c function

我找到了这个函数定义

void *func(void *param) {

}

其实我对这个函数定义有一定的困惑。 void * 在函数的返回类型和参数中意味着什么。我是 C 的初学者。所以请不要介意。谢谢

void *func(void *param) {
  int s = (int)param;
  ....
}

好吧,看看我找到的上面的程序。我觉得应该是

int *s = (int *)param;

不是吗?我很困惑

最佳答案

void * 表示它是一个没有特定类型的指针,将其视为通用指针,不像说 int * 一个 int 指针。

如果需要,您可以将其转换为不同的类型(例如,如果您要使用指针进行指针运算)。

您可能会发现这个 SO 使用问题:Concept of void pointer in C programming

关于关于 C 中函数定义的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12224569/

相关文章:

c - 在 C 结构体中的元素上使用 malloc

objective-c - 在 Core Foundation 中保留和 "autoreleasing"

c - 在函数内部使用 realloc 扩展数组 - 指针?

c++ - 将 wsprintf 与 malloc 一起使用

javascript - 将另一个函数添加到 onclick

在同一脚本中编写另一个函数后,javascript函数停止工作

将 uint8_t 数组转换为 c 中的 char 数组

python - 更改python中函数的默认参数

java - 函数有点像静态方法吗?

mysql - 尝试创建此 MySQL 函数时出错