我想知道是否有人可能对此有任何见解......
我的程序崩溃了这个电话:
void subtract(data* array,data* inverse,int a, int b, int q, int n)
{
data* arraytomultiply;
arraytomultiply = (data *)malloc(sizeof(data*) * n);
Run Code Online (Sandbox Code Playgroud)
数据只保存一个int(为了方便以后切换类型)
typedef struct {
int value;
}data;
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很多改变这里的指针,因为我对它们完全没有信心,但无济于事.
奇怪的是,在程序的早期,同样的调用工作,我为它分配值,并可以打印出来和一切..:
data* array;
array = (data*)malloc(sizeof(data*) * m * n); // m * n entries
Run Code Online (Sandbox Code Playgroud)
可能有用的一件事(虽然我不知道为什么)是当它早期工作时它在一个void函数中,而当它崩溃时它在一个从算法中调用的函数中.但是我根本没有看到它会如何影响它,因为我正在尝试做的是不使用任何参数等...
有任何想法吗?