为什么cygwin下运行释放内存释放错误的程序不报运行时错误?
下面这段程序在VS2005下会报一个运行时错误,原因是内存释放错误, 但Cygwin下为什么运行可以安全通过?
100分相送,期待高手解答.
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
struct A
{
int a;
char b;
};
struct B
{
int a;
char b;
int c;
};
int main(void )
{
A *a = NULL;
a = (A*) malloc(sizeof(A));
memset(a, 0, sizeof(B));
free(a);
printf("helloWOrld");
}