二维数组怎么做函数参数

二维数组如何做函数参数?
二维数组如何做函数参数?比如说我有个数组m[500000][4],要对m[][3]进行排序,如何将这个数组传给一个快速排序的函数,直接对这个数组排序?

------解决方案--------------------
(int*)m就可以吧。。
------解决方案--------------------
传地址过去
在排序函数里也用指针操作
------解决方案--------------------
那就要把你数组的手地址传过去了 参数写 m[][4]
------解决方案--------------------
m[500000][4]如何做参数?是不是这个意思阿?
这样传就可以了

a(int (*p)[4]){

}

int main()
{
int m[500000][4];
int (*p)[4]
p = m;
a(p);
}
------解决方案--------------------
或者把 a(p)改为a(m) 就更简洁
------解决方案--------------------
没什么关系.实参用a,行参用数组指针.
要规定是排三列,那for循环中控制下就可以了
------解决方案--------------------
用指针传
------解决方案--------------------
引用
-------------
(int*)m就可以吧!
---------------
传首地址,用(int*)m操作
------解决方案--------------------
int cmpdata(const void *p, const void *q){
const yourtype *pp=(const yourtype *)p;
const yourtype *qq=(const yourtype *)q;
if(pp[3]<qq[3]){
return -1;
}else if(pp[3]>qq[3]){
return 1;
}
return 0;
}

qsort(m, 500000,sizeof(m[0]),cmpdata);