“->"这个符号代表什么含义,比如linux内核链表里的(ptr)->next = (ptr)这是什么含义,求详细解释。

如题所述

->是C/C++语言中的一个运算符,通过结构体指针变量直接获得结构体变量的成员变量。
一般形式如下:
结构体指针变量-> 成员变量
其中“结构体指针变量”为结构体指针变量,“成员变量”为结构体成员变量名称,“->”为运算符。

对于你问的,
ptr是指针。它一般指向一个结构体类型(这个结构体的定义中包含名字为next的成员)的变量。
ptr->next表示这个结构体变量的next成员。
(ptr)->next = (ptr)表示把当前节点的next指针指向当前节点

举个例子吧:

定义一个结构体AAA,包含两个成员a和b
struct AAA
{
int a;
int b;
};

定义结构题变量aaa
struct AAA aaa;

定义一个指针指向这个结构题变量aaa
struct AAA * p = & aaa;

如果你想让aaa的成员变量a=11,成员变量b=22,那么就可以如下作:
p->a = 11;
p->b = 22;

其中
p->b的含义就是(*p).b,也就是aaa.b
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-21
--------—— --------——
| D1 | next | → | D2 | next |
————— —————

ptr
如图一个结点里面包含2个元素 ,一个是数据D,一个是指针(next)指向下一个结点;ptr指向d1的结点
(ptr)=(ptr)->next;执行了这句代码后 ptr就指向了d2了
(ptr)->next 相当于使用next这个指针
比如D1=2 ,ptr->D1 = 4;这时候D1就变成了4
第2个回答  2011-10-21
这个是指针吧
c++里面有的
也就是ptr的下一个指向ptr的
第3个回答  2011-10-22
转义符,CMD里也有,就是重定向么
第4个回答  2011-10-21
这个都不知道,你还看啥linux内核啊?C,C++基础先看看吧
相似回答