Я пытаюсь реализовать динамический массив - если массив заполнен, и вы добавите еще одну точку, он удвоит размер массива. Размер массива обозначается len, а пространство, оставшееся в массиве, обозначается зарезервированным. Если я добавляю 5650 точек, все работает нормально, но как только я набираю 5700 или более, возникает ошибка сегментации. Любые идеи относительно того, что может быть причиной этого?
int point_array_append( point_array_t* pa, point_t* p )
{
if(pa->reserved==0)
{
if(!(realloc(pa->points, sizeof(point_t)*(pa->len * 2))))
return 1;
pa->reserved=pa->len;
}
pa->len++;
pa->reserved--;
pa->points[(pa->len)-1] = *p;
return 0;
}
sizeof(point_t)
? - person vines   schedule 24.11.2014