我想知道为什么我必须使用malloc动态创建记忆,而我已经有了指针添加来自由操纵记忆.所以我创建了这段代码,但是这段代码腐败了,说'围绕变量'a'的堆栈被破坏了
有人能解释为什么这段代码失败了?
#include <stdio.h>
int main(void)
{
int a = 1;
int * arr1 = &a;
*(arr1 + 1) = 2;
printf("%d %d\n", *arr1, *(arr1+1));
}
Run Code Online (Sandbox Code Playgroud)