void go_last(bn_ptr current)
{
bn_ptr ptr=current;
while(ptr->next!=NULL)
{
ptr=ptr->next;
}
}
我已经有了链表,并且“头”指针从头开始保持住,我定义了新的指针并用“头”进行了均衡,我只想将“当前”指针移到链表的最后一个节点,但是我的功能无法正常工作
struct binumber
{
int number;
struct binumber *next;
};
typedef struct binumber binumber;
typedef struct binumber *bn_ptr;
......
int main()
{
.
.
.
bn_ptr current1=head;
go_last(current1);//not working
.
.
.
}
T用不同的函数尝试过它返回指针,但是没有。
最佳答案
我希望您熟悉按值调用和按引用调用的概念。
当您将current1
作为参数传递给函数时,将在本地创建另一个变量,该变量的指针值与current1
相同。然后,您正在修改本地指针,该指针不会反映在调用函数中。