匿名用户
1级
2013-04-27 回答
楼上的哥们好像回答的方向偏了
指针的声明
指向类型 *p;
这个*就标志这这是一个指针,声明之后,变量p在调用的时候就不是调的指针本体了,而是指针所指的目标!
例如:p->next
这不是指针p的next,而是指针p所指向的目标中的next
结构体作为自定义的数据结构,创建后系统只能返回整个结构体的首地址,所以只能用一个指针来接,结构体中指针变量命名为next只是国际惯例,你就算改成*n也一样,只是以后用的时候:
p->next 改成 p->n 就可以了
指针赋值常用的有两种:
1、把目标的地址取来赋给指针
p = & target //&就是取地址符
2、把另一个指针所指向的目标的地址赋给指针
p = q;
追问:
这个P->next为什么表示指向下一个呢?如果用线性表可以用++i什么的来指向下一个,可是这个没有类似的啊!而且双向链表中,定义改变了一下,
typedef struct DuLNode //定义结构体
{
ElemType data;
struct DuLNode *prior;
struct DuLNode *next;
}DuLNode,*DuLinkList;
然后p->prior就表求指向p的前一个元素,这是怎么