我有一个代码:必须排序的结构数组。程序工程,但:无法理解程序(排序结构数组)
我不明白,如果Mat
是指针,为什么不是void sort(tArt *sMat)
,但void sort(tArt sMat[])
。我真的很困惑。
typedef struct{
char data[26];
}tArt;
...
int main(void)
{
FILE* fMat; fMat=fopen..........
tArt* Mat;
...
Mat=malloc(sizeof(tArt));
for(i=0;i<N;i++) fread(&Mat[i],sizeof(tArt),1,fMat);
fclose(fMat);
sort(Mat,N);
...
}
void sort(tArt sMat, int num) {...........}
tArt *和tArt []是等价的。 – semao 2013-02-25 16:16:00
如果你想要一个_real answer_ post _real code_;至少是一个你不了解的行为[简短的独立可编译示例](http://sscce.org)。大部分代码不需要使用'sort',而实际执行的部分可能是错误的 - 至少在当前的列表中。 – Zeta 2013-02-25 16:17:25
无法与@Zeta达成更多共识。一堆散布的椭圆并不是一个程序。 – 2013-02-25 16:27:24