局部数组能否引发全局数组错误?——函数中的数组导致全局数组错误,改为全局数组后问题解决。

2019-07-20 20:10发布


用探索者定义了一个u8类型的240*240全局数组用于存储图像。二值化后数组只有0和255两个值。
在某个函数中定义了一个临时数组temp[240][240]对全局数组进行简单处理后存储,然后发现存储的数值不是理论的0和255。
串口发回来全部数据发现出现许多乱七八糟的值。将函数内的局部数组定义为另一个全局数组后该问题解决。
编译的时候没有警告和错误。

请问这么看来是不是局部数组影响到了全局数组?理论上不应该会影响到的吧?求解释,谢谢大家。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
larry
2019-07-21 17:21
龙之谷 发表于 2016-9-11 08:29
堆栈

您好,请问能不能详细的解释一下?我觉得您的意思是,局部的堆栈空间不够了,所以占用了全局的?我也这么想过,只是不清楚哪里能找到说明,说局部的堆栈能开到多大;同时局部的堆栈如果占用了全局的话,我全局可以开到两个240*240数组没有问题,如果占用为何要占用已经使用了的空间,不去使用没有占用的全局空间?

一周热门 更多>