C语言 连续结构的局部变量是否保存在连续的内存位置?



例如,请考虑以下代码:

struct user
{
char username[20];
};
struct admin
{
char rootpass[20];
};

我可以通过溢出的用户名来覆盖根通道吗?

即使你可以,你也不应该。

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

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