a값은 입력으로받은담에


int *n = new int[a];

for (int i = 0; i < a; i++)

n[i] = a;

delete[] n;


이렇게 하나짜고


int *n = (int *)malloc(sizeof(int)*a);

for (int i = 0; i < a; i++)

n[i] = a;

free(n);


이렇게 하나짰는데

위에거는 멀쩡하게 실행되는데

아래꺼는 heap corruption detected 에러가 뜨네요

malloc이랑 new랑 바꿔써도 상관없을줄 알았는데

둘이 많이 다른건가요?