C语言中 -> 是什么意思

最近在看C才发现有->这种写法,我都不明白是什么意思,还有就是cfs后面的点。如:la=likely(rp->nr_running==rp->cfs.nr_running... 最近在看C 才发现 有->这种写法,我都不明白是什么意思,还有就是cfs后面的点。
如:la=likely(rp->nr_running==rp->cfs.nr_running);
还有这种带函数的,
p=class->pick_next_task(rq);
还有就是函数指针,请高手讲解下,
如:void*(*start_rtn)(void)
int ms(int msgid,stuct msgbuf *msp)
展开
 我来答
百度网友da134f4
2011-10-04 · TA获得超过183个赞
知道小有建树答主
回答量:214
采纳率:60%
帮助的人:124万
展开全部
拿rp->nr_running来说
rp是一个结构体指针(或其他一个整体的指针)、他指向一个结构体、就相当于你家的地址
nr_running是rp所指向结构体的一个成员、好比你家中的房间1
rp->nr_running说的就是你家的1号房间

"."的作用和"->"差不多
"."前面是变量名(或其他名称)而"->"前面是地址、指针
比如说 你家.1号房间、、、、xx市xx区xx楼xx号->1号房间

void*(*start_rtn)(void)
定义了一个指向函数的指针、指针与函数的参数返回值要一一对应
也就是说定义的这个指针所指向的函数的参数是void、返回值为void型指针
定义函数指针的形式、、
void* (*start_rtn) (void)
所要指向函数的返回值 所定义的函数指针的名称 所指向函数的参数

int ms(int msgid,stuct msgbuf *msp)
定义了一个返回值为整形的函数、这个函数有两个参数、int msgid、第一个参数为int型名称为msgid;stuct msgbuf *msp、第二个参数为stuct msgbuf型的指针msp;
struct msgbuf可以简写为 msgbuf
blueloverz
2011-10-04 · TA获得超过184个赞
知道小有建树答主
回答量:100
采纳率:100%
帮助的人:122万
展开全部
-> 是一种运算符。指向运算符。用于指针 ,指向指针的方法或者属性。

下面是一段代码,可以让你明白怎么用。

struct student

int data;



struct student student1,*p;

p=&student1;

p->data;//p->data和student1.data 是一个效果

//rp->nr_running==rp->cfs.nr_running
rp是一个结构体的指针,这个结构体中含有nr_running这个成员
rp是一个结构体的指针,这个结构体中含有cfs这个成员,cfs刚好又是一个结构体,cfs中刚好也有nr_running相同名字的成员

p=class->pick_next_task(rq)
class是一个结构体的指针,这个结构体中有一个成员pick_next_task,这个成员pick_next_task是真想函数的指针
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无病呻吟2010
推荐于2017-11-24 · TA获得超过963个赞
知道小有建树答主
回答量:527
采纳率:0%
帮助的人:573万
展开全部
rp->nr_running==rp->cfs.nr_running
rp是一个结构体的指针,这个结构体中含有nr_running这个成员
rp是一个结构体的指针,这个结构体中含有cfs这个成员,cfs刚好又是一个结构体,cfs中刚好也有nr_running相同名字的成员

p=class->pick_next_task(rq)
class是一个结构体的指针,这个结构体中有一个成员pick_next_task,这个成员pick_next_task是真想函数的指针

void*(*start_rtn)(void)
start_rtn是一个指向 void* fun(void)类型的指针.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝骑士之阿强
2011-10-04 · TA获得超过274个赞
知道小有建树答主
回答量:177
采纳率:0%
帮助的人:143万
展开全部
->是结构指针的一种用法,比如有个结构指针struct student *stu; stu->结构的成员
cfs后面的点是结构的一种用法,如有个结构struct student stu; stu.结构成员

函数指针就是将函数名换成 (*指针名) , 参数列表中的形参不要,只要类型, 如
int ms(int msgid,stuct msgbuf *msp) 的函数指针是 int (*ms)(int, struct msgbuf*)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
amwtkg
2011-10-04 · 超过13用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:38.2万
展开全部
rp是指向结构体的一个指针,rp->nr_running取结构体的成员nr_running,->叫成员运算符

void*(*start_rtn)(void)表示它指向的函数返回值为void类型,参数也为void
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式