我是一个尝试编写目录树的新手C学生.它没有问题,但Valgrind不赞成.我已经阅读了类似问题的帖子,但似乎无法弄明白.
我会大大提高答案,不仅要使其成功,还要解释我做错了所以我将来也不会遇到同样的问题.关于代码一般不好的原因的反馈也不会被忽视:)
这些是Valgrind的错误(乘以处理的项目数量):
==10463== Invalid write of size 8
==10463== at 0x400C5D: checkDir (dirtree.c:96)
==10463== by 0x400F53: main (dirtree.c:135)
==10463== Address 0x51f88d8 is 0 bytes after a block of size 8 alloc'd
==10463== at 0x4C28F9F: malloc (vg_replace_malloc.c:236)
==10463== by 0x400BED: checkDir (dirtree.c:93)
==10463== by 0x400F53: main (dirtree.c:135)
==10463== Invalid read of size 8
==10463== at 0x4ECFF28: __tz_convert (tzset.c:627)
==10463== by 0x4ECD728: ctime (ctime.c:32)
==10463== by 0x401022: main (dirtree.c:147)
==10463== Address 0x51f88d8 is 0 bytes after a block of size 8 …Run Code Online (Sandbox Code Playgroud)