Функция работает с значительными массивами памяти, которые перевыделяються realloc. Для ускорения процеса перевыделение
происходит "квантами" по 1000 закладок структуры. Проблема в том,
что в разных участках программы та самая конструкция или нормально
работает или работает только несколько раз с Segmentation fault.
вот пример:
#include <stdio.h>
#include <stdlib.h>
#define QUANT 1000
struct{long int size;
long int memory;
int *data;
}selection;
int main(int argc, char *argv[])
{
long int i;
selection.size=0;
selection.memory=QUANT;
selection.data=malloc(selection.memory*sizeof(selection.data));
for (i=0;i=10000;i++)
{
if (selection.size==selection.memory)
{
selection.memory=selection.memory+QUANT;
realloc(selection.data,selection.memory*sizeof(selection.data));
}
selection.data[selection.size]=45576;
selection.size++;
}
return 1;
}