我的函数返回一个二维数组如下:
double** inverse(double (**data)) {
double result[2][2];
result[0][0] = data[1][1] / (data[0][0] * data[1][1] - data[0][1] * data[1][0]);
result[0][1] = -data[0][1] / (data[0][0] * data[1][1] - data[0][1] * data[1][0]);
result[1][0] = -data[1][0] / (data[0][0] * data[1][1] - data[0][1] * data[1][0]);
result[1][1] = data[0][0] / (data[0][0] * data[1][1] - data[0][1] * data[1][0]);
return result;
}
然后函数外面用一个二维指针去接:
double** s = inverse(gama[FreIdx]);
printf("%f\n", s[0][0]);
但是报错了,说s的内存地址无法访问。求解释一下,对C不是很熟