qq_35156130
qq_35156130
采纳率100%
2017-05-19 08:04

求教大佬,关于C语言结构体指针的问题

  • c
  • 结构体指针
  • 指针
  • 结构体
已采纳

我定义了一个结构体数组,然后题目要求按选择法把结构体内的数据从小到大排序。选择排序我是定义了一个函数,函数的参数是两个结构体指针(struct Stu_Score *p,struct Stu_Score *q),函数体内定义了一个中间指针变量struct Stu_Score *temp,在交换的时候就是用中间指针变量对p和q交换,结果这样并没有出现语法错误,但是在运行的时候显示已停止工作。后来我把指针变量还为普通的结构体变量,就是把*temp改成了temp(相应的调用时的->改成了.),结果这样运行就没问题了,请教大佬这是为什么

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • baidu_38196535 Demo_gu__ 4年前

    很经典的问题 ,画个内存四区图就知道了

    点赞 评论 复制链接分享
  • shen_wei shen_wei 4年前
     void fun(int *p,int *q)
    {
        int nTemp;
        nTemp = *p;
        *p = *q;
        *q = nTemp;
    }
    
    点赞 评论 复制链接分享

为你推荐