连初级都算不上的代码小白 2023-04-20 20:36 采纳率: 52.7%
浏览 8
已结题

链表指针作为函数参数


#include<stdio.h>//无头节点 
#include<stdlib.h>
typedef struct List
{
    int val;
    struct List *next;
}list;
void a(list *pst)
{
    pst=pst->next;
}
int main()
{
    list *head,*last,*p;
    head=NULL;
    int i,n;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        p=(list*)malloc(sizeof(struct List));
        scanf("%d",&(p->val));
        p->next=head;
        head=p;
    }
    a(head);
    while(head)
    {
        printf("%d ",head->val);
        head=head->next;
    }
}

将头指针传递给函数,函数功能是指针移向下一节点,为什么该函数a没起到作用

  • 写回答

3条回答 默认 最新

  • 小李老师爱分享 2023-04-20 21:20
    关注

    1.函数传参时要传地址才行,如果是指针,就在指针前再加一个*,表示指针的地址;
    2.用引用&,在函数形参数前加引用符号。
    在主函数中不用加取址
    3.还有种方法是利用函数的返回值。比如链表就要返回一个链表头,但是这种方法有个缺点,就是不能返回多个参数。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 创建了问题 4月20日

悬赏问题

  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀
  • ¥20 手写数字识别运行c仿真时,程序报错错误代码sim211-100