#include <stdio.h>
#include <stdlib.h>
int main()
{
char *p = malloc(10);
int i;
for(i=0;i<15;i++)
{
p[i]='c';
printf("INDEX:%d %c\n",i,p[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么在上面的代码中,我只分配了 10 块内存,但我仍然能够访问指针的第 15 个索引。
我不确定为什么,但我认为这是因为这个指针指向一些随机的内存块,而我只是覆盖了这部分内存,但我只分配了特定数量的内存,所以我不确定为什么它会起作用。
有人可以确认吗?