gpt4 book ai didi

作为参数传递后字符指针损坏

转载 作者:行者123 更新时间:2023-11-30 18:07:49 25 4
gpt4 key购买 nike

我有一个这样的功能

#define LEN 10
#define MAX 200
void f(char test[][LEN])

我有这样的代码

char test[MAX][LEN];
:
:
f(test);

现在,当我使用 dbx 跟踪代码时。

在调用函数f之前,我打印了变量,数组都是空的。然后在调用函数 f(test) 后,指针被损坏,数组的某些元素指向垃圾内存。它发生在参数传递之后。

可能是什么原因?

我为此工作了很长时间,但完全迷失了。

有人可以提供提示吗?

最佳答案

您可能正在破坏堆栈。

它可能是在 f 之前调用的某个函数,并且需要返回一个值,并且并非所有执行路径都以 return 语句结束。

关于作为参数传递后字符指针损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4229973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com