Lord Phoenix
Member
Насколько я знаю realloc выделяет новый участок памяти ,копирует содержимое старого и удаляет старый.
но почему то этот код не работает.
выкидывает ошибку на втором элементе, при этом с первым и третим все ок.
компилятор mingw 3.4.2
но почему то этот код не работает.
Code:
#include <stdio.h>
#include <windows.h>
int main()
{
int **t;
unsigned long sz=0;
t=(int**)malloc((sz+=1)*4);
*t=new int(10);
t=(int**)realloc(t,(sz+=1)*4);
*(t+4)=new int(20);
t=(int**)realloc(t,(sz+=1)*4);
*(t+8)=new int(30);
for (unsigned long i=0;i<sz;i++)
{
printf("%d\n",**(t+i*4));
}
}
компилятор mingw 3.4.2