gpt4 book ai didi

c - 溢出以更改 C 结构中的下一个元素

转载 作者:行者123 更新时间:2023-11-30 14:58:36 24 4
gpt4 key购买 nike

我有一个像这样的结构设置:

typedef struct _aStruct
{
char aChar[32];
int target;
}

什么值会导致此溢出aChar,以更改“目标”?

memset(aStruct.aChar,0,32)

如果这个问题从根本上来说有缺陷,我很抱歉,我是新手。

最佳答案

一个大问题是结构体上的填充是实现定义的。在一个编译器上有效的内容将在另一个编译器上导致段错误或内存损坏。可以说的是,32 或更少的值永远不会溢出,并且 32 + sizeof(int) 或更少的值不会损坏其他内存,即使如果它确实溢出。

关于c - 溢出以更改 C 结构中的下一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43266681/

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