m0_73635971 2023-03-28 16:54 采纳率: 33.3%
浏览 21
已结题

c语言顺序表的删除函数

这里到底怎么改啊?不加,free就会有一个int类型与void类型不兼容,加了又说我的j不定义。

img

  • 写回答

4条回答 默认 最新

  • 快乐鹦鹉 2023-03-28 16:59
    关注

    j还没分配空间就赋值啊?这里j定义为指针的目的是什么呢?int j就可以了啊。如果是指针,那就要分配空间。int j = (int)malloc(sizeof(int));

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
  • juechen333 2023-03-28 16:59
    关注

    没有初始化
    j此时里面没有值,没有指向任何存储空间,*j访问他所指向的地址中的值会找不到地方

    评论 编辑记录
  • 於黾 2023-03-28 17:05
    关注

    *j=list[m-1]改为j=&list[m-1]
    此外,不要free(j),list是个数组,你把其中一个元素free了是要干啥
    数组长度是不可更改的,也不用更改
    你需要把n-1返回,赋值给外面的n,或者n用指针传进来
    否则你反复调用删除函数,长度会出问题

    评论 编辑记录
  • CSDN-Ada助手 CSDN-AI 官方账号 2023-03-28 18:59
    关注
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 4月9日
  • 已采纳回答 4月1日
  • 创建了问题 3月28日

悬赏问题

  • ¥15 C++代码报错问题,c++20协程
  • ¥15 c++图Djikstra算法求最短路径
  • ¥15 Linux操作系统中的,管道通信问题
  • ¥15 ansible tower 卡住
  • ¥15 等间距平面螺旋天线方程式
  • ¥15 通过链接访问,显示514或不是私密连接
  • ¥100 系统自动弹窗,键盘一接上就会
  • ¥50 股票交易系统设计(sql语言)
  • ¥15 调制识别中这几个数据集的文献分别是什么?
  • ¥15 使用c语言对日志文件处理