查看手册页pthread_create(...)
,我看到定义如下......
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
void *(*start_routine) (void *), void *arg);
我的第一个问题是在pthread_create
传递参数 3 时;我是在转换函数名的地址还是只是函数名?对我来说,它似乎产生了相同的结果......那么这些之间有什么区别?
(void *)&function_name
(void *)function_name
我的第二个问题是在传递参数 4 时在 pthread_create 中,我们是否应该总是给出 args 变量的地址,例如,
(void *) &variable
或者我们可以直接传递值吗
(void *)variable
谢谢。