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) 展开
如: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) 展开
11个回答
展开全部
拿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
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
展开全部
-> 是一种运算符。指向运算符。用于指针 ,指向指针的方法或者属性。
下面是一段代码,可以让你明白怎么用。
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是真想函数的指针
下面是一段代码,可以让你明白怎么用。
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是真想函数的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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)类型的指针.
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)类型的指针.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
->是结构指针的一种用法,比如有个结构指针struct student *stu; stu->结构的成员
cfs后面的点是结构的一种用法,如有个结构struct student stu; stu.结构成员
函数指针就是将函数名换成 (*指针名) , 参数列表中的形参不要,只要类型, 如
int ms(int msgid,stuct msgbuf *msp) 的函数指针是 int (*ms)(int, struct msgbuf*)
cfs后面的点是结构的一种用法,如有个结构struct student stu; stu.结构成员
函数指针就是将函数名换成 (*指针名) , 参数列表中的形参不要,只要类型, 如
int ms(int msgid,stuct msgbuf *msp) 的函数指针是 int (*ms)(int, struct msgbuf*)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rp是指向结构体的一个指针,rp->nr_running取结构体的成员nr_running,->叫成员运算符
void*(*start_rtn)(void)表示它指向的函数返回值为void类型,参数也为void
void*(*start_rtn)(void)表示它指向的函数返回值为void类型,参数也为void
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |