| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4209 人关注过本帖
标题:理解void *(*func)(void *)?
取消只看楼主 加入收藏
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
 问题点数:0 回复次数:7 
理解void *(*func)(void *)?
int pthread_create(pthread_t *id,pthread_attr_t *attr,void *(*func)(void *),void *arg);

pthread_t *id: 这个指针是指向ID的

pthread_attr_t *attr:这个指针是指向Pthead_attr_t 这个结构体类型的变量;这个变量可以用来存放
线程的各种属性;创建线程时可以定义这样一个变量来初始化。
如果使用系统缺省值,则设为null.

void *(*func)(void *):这是个指向函数地址的指针,指向线程开始执行的函数的地址。

简单的理解:这个项是一个指针,它指向的是一个起始函数的地址
这个起始函数的地址由func确定,即fun返回的是一个指针(起始函数
的地址)
void *arg:这个指针指向的是func函数的参数,参数有多个的话,可将参数打包成一个结构体。

返回值: 正确:0;错误: 正Exxx值。不设置ERRNO
?????????????帮我理解一下红色部分,thank you!
搜索更多相关主题的帖子: func void 
2006-07-22 17:22
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
得分:0 

后面的void * 是func指向的函数的形参吗?
不是func函数自己的形参?


2006-07-22 18:03
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
得分:0 

现在有下面的语句:
void thread(){
....
}
res=pthread_creat(&id,NULL,(void *) thread,NULL);

这个 thread怎么理解?
是理解成void 类型的指针指向 thread函数吗?

谢谢指教、、、


2006-07-22 18:15
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
得分:0 

能不能告诉我你对
void *(* func)(void *)
的理解,thank you


2006-07-22 18:20
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
得分:0 

我的意思是问(void * )thread这句是不是去指向thread函数,谢谢各位了


2006-07-22 22:43
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
得分:0 
(void *) thread 是void *(* func)(void *) 的一个应用实例,怎么对应呢
渴望指教

2006-07-22 22:51
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
得分:0 
先谢谢楼上的两位:
下面是我的理解:
1.void * (* func)(void *)
func是一个函数指针,
它指向的函数的参数是void 型的指针
它指向的函数返回的是void 型的指针
2.(void *) thread
将thread函数强制转换为void型的指针
3.对应
这一个参数项只要是一个返回为指针的函数就对应起来了

Thank you for participating.

2006-07-23 07:34
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
得分:0 

因为有你,得以进步,thank you


2006-07-23 09:49
快速回复:理解void *(*func)(void *)?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015848 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved