| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4209 人关注过本帖
标题:理解void *(*func)(void *)?
只看楼主 加入收藏
flyguy
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-7-22
收藏
 问题点数:0 回复次数:23 
理解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
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

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

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


2006-07-22 18:03
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
func只是一个指针!

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-07-22 18:10
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
SunShining
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:31
帖 子:2215
专家分:0
注 册:2006-2-17
收藏
得分:0 
(void *) thread 我认为这是强制类型转换

对 void *(* func)(void *) 的理解和二楼一样

func是一个 指向 形参为 void* 返回值为 void* 的函数的指针.

[glow=255,violet,2]闭关修炼ing...[/glow] [FLASH=360,180]http://www./chinaren.swf[/FLASH]
2006-07-22 18:25
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-22 18:25
穆扬
Rank: 1
等 级:禁止发言
帖 子:1910
专家分:0
注 册:2006-6-1
收藏
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-22 18:36
lj_860603
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:714
专家分:0
注 册:2006-1-25
收藏
得分:0 
函数指针而已,后面省略了参数名,参数类型 void * 型。

我的原则很简单:不做不喜欢的事!
2006-07-22 19:15
快速回复:理解void *(*func)(void *)?
数据加载中...
 
   



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

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