网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月17日漏签0天
c语言吧 关注:799,402贴子:4,360,899
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 5回复贴,共1页
<<返回c语言吧
>0< 加载中...

求助为什么dynamic函数返回指针后len值就变成0了

  • 只看楼主
  • 收藏

  • 回复
  • 飞靴er
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
还是说有别的地方改变了len的值,我感觉也不像啊





  • 飞靴er
  • 异能力者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
为什么随便加了一行*len=mod->len就可以了我问ai他只会一直循环回答一个不相关的答案,有没有大佬知道是咋回事的



2025-09-17 22:37:38
广告
不感兴趣
开通SVIP免广告
  • GTA小鸡
  • 吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
21行写反了,你在把一个刚malloc出来还没初始化的缓冲区内容复制到main函数的directory数组中这个数组只有256字节,而你写了512字节,导致main函数中的len被越界覆写了。
我感觉你已经写糊涂了,都不知道自己到底在写入哪个directory变量。


  • GTA小鸡
  • 吧主
    14
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
mod->directory = directory;
此时mod->directory和directory指向同一个地方,即main函数的directory数组
directory = malloc((len + 1) * sizeof(char));
你可能以为这样main函数的directory数组就会扩容,错了。这是让形参directory指向一块新分配的内存地址,不再指向main函数的directory数组。
C语言是静态类型语言,变量的类型一经定义,不会以任何方式发生改变。


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示