请教一个C的关于调用matrix的问题# Programming - 葵花宝典W*W2007-10-09 07:101 楼因为经常用到矩阵相乘,所以想写一个函数,矩阵的size是作为input的,可是C里面对于多维数组必须制定列的长度,请教有什么general的方法编这样一个函数,我在gsl里面也没找到。
b*a2007-10-09 07:102 楼传一个指针进去就可以了比如 matrix N by N,p指向数据的开始,p[m*N+n]就指向m行n列。【在 W*W 的大作中提到】: 因为经常用到矩阵相乘,所以想写一个函数,矩阵的size是作为input的,可是C里面对: 于多维数组必须制定列的长度,请教有什么general的方法编这样一个函数,我在gsl里: 面也没找到。
I*s2007-10-09 07:103 楼use dynamic allocation.Example:#define E_TYPE intE_TYPE ** matrix(int h, int w) {E_TYPE ** p;int i, j;p = (E_TYPE **) malloc(sizeof(E_TYPE *) * w);for (i = 0; i < w; i ++) {p[i] = (E_TYPE *) malloc(sizeof(E_TYPE) * h);}return p;}
f*y2007-10-09 07:104 楼变为一维数组【在 W*W 的大作中提到】: 因为经常用到矩阵相乘,所以想写一个函数,矩阵的size是作为input的,可是C里面对: 于多维数组必须制定列的长度,请教有什么general的方法编这样一个函数,我在gsl里: 面也没找到。