关于结构内部地址的问题。请大神来指教指教。小弟感谢感谢,好人一定有好报。。
这是一个单向链表插入的函数,第一:为什么第一个参数为什么要是一个指向结构指针的指针,第二:在while循环中的linkp = ¤t ->link 为什么不能解释成*linkp = current ->link.算法
第三:linkp =¤t->link 他的最终目的是什么。简单的插入函数我会编写。可以这个算法,我确实一下没明白。以前的指针基础太差。请求大神解释,顺便解释下我另外一个贴上的程序运行错误问题。小弟大谢。。。
int sll_insert(register Node **linkp,int new_value)
{
register Node *current;
register Node *ne;
while((current = *linkp) != NULL &¤t->value < new_value)
{
linkp = ¤t ->link;
}
ne = (Node *)malloc(sizeof(Node));
if(ne == NULL)
return FALSE;
ne ->value = new_value;
ne ->link = current;
*linkp = ne;
return TRUE;
}
[解决办法]
单链表 不是一定需要使用2级指针吧
[解决办法]
linkp是 ** 类型,currentshi * 类型,*linkp 保存的是 currentde 的地址,当然是用linkp=¤t->link啊
[解决办法]
先把握好指针。