连续结构的局部变量是否被存放在连续的内存位置?

问题描述 投票:0回答:1

例如,考虑以下代码。

struct user
{
    char username[20];
};

struct admin
{
    char rootpass[20];
};

我可以通过溢出用户名来覆盖rootpass吗?

c buffer-overflow
1个回答
-1
投票

即使可以也不应该。

你的问题的答案取决于架构和编译器,但你甚至不应该问这个问题。

永远不要访问超出范围的数组元素 (对于定义为 [N] 的数组,只有 0 ... N-1 的元素是有效的)。

© www.soinside.com 2019 - 2024. All rights reserved.