为啥要 sizeof(int *) ,你要的应该是sizeof(int),如果是64位那sizeof(int *)是8,而sizeof(int )只会是4
个人感觉:仅为 指针a分配了四个字节的内存,然后for循环中多次使用到了*(a+i)导致指针a指向了自己内存以外的地址,有可能已经指向了野地址,然后释放野地址时出现了程序中断现象。