Интересно, может ли кто-нибудь понять это ...
Моя программа вылетает при этом вызове:
void subtract(data* array,data* inverse,int a, int b, int q, int n)
{
data* arraytomultiply;
arraytomultiply = (data *)malloc(sizeof(data*) * n);
Где данные просто содержат int (для удобства при переключении типов позже)
typedef struct {
int value;
}data;
Я пробовал много возиться с изменением указателей здесь, поскольку я совсем не уверен в них, но безрезультатно.
Странно то, что гораздо раньше в программе работает тот же самый вызов, я присваиваю ему значения и могу распечатать их и все.:
data* array;
array = (data*)malloc(sizeof(data*) * m * n); // m * n entries
Одна вещь, которая может быть полезной (хотя я понятия не имею, почему), это то, что когда она работает раньше, это происходит во время функции void, тогда как когда она падает, она находится в функции, вызываемой из алгоритма. но я не понимаю, как это вообще может повлиять на это, учитывая то, что я пытаюсь сделать, не используя никаких аргументов и т. д ...
Есть идеи?