gpt4 book ai didi

c - 传递给另一个函数时局部变量的数据损坏

转载 作者:行者123 更新时间:2023-11-30 20:41:10 25 4
gpt4 key购买 nike

将堆栈上的局部变量传递给函数调用时,数据如何可能损坏?

{
int Array[4];

Array[0] = 1;
Array[1] = 2;
Array[2] = 3;
Array[3] = 4;

test_struct->arr = Array;
//(Where arr is a pointer to array)
Demo(test_struct);
}

如果在这里将数组传递给另一个函数会出现什么问题?有没有可能数据损坏?

最佳答案

好吧,如果 Demo() 有错误导致它在 Array 的范围之外写入,而它对此一无所知,它当然会损坏内存力,是的。

请注意,您不能在 Demo() 中使用 sizeof 来计算大小,您必须有一个单独的参数(或结构成员)来告诉可用元素。

关于c - 传递给另一个函数时局部变量的数据损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16832433/

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