写在前面
以为这个博客会永远的荒芜下去…没想到这时候可以用来自己做一些关于代码作业的小的记录用。做好了几年以后回头不可思议的看着负基础的自己认真的记录这些可能很简单的事情的准备,开始吧。
题目部分
//主函数部分
int main() {
size_t total = 0, size = 0;
scanf("%zu%zu", &total, &size);
int matrixArr[MAX_TOTAL][MAX_SIZE][MAX_SIZE] = {};
for (size_t matrixIndex = 0; matrixIndex < total; ++matrixIndex) {
inputMatrices(matrixArr[matrixIndex],size);
}
qsort_r(matrixArr, total, sizeof(matrixArr[0]), &cmpMatrices, &size);
for (size_t matrixIndex = 0; matrixIndex < total; ++matrixIndex) {
printMatrices(matrixArr[matrixIndex], size);
}
return 0;
}
- 首先是过编译的问题:传入的指针到底如何匹配函数的形参呢。其实回头看来传入的就是一个简单的数组首元素的指针而已。所以在函数形参中写arry[]就已经足够了,如果是一行或者一张表的指针,是需要定义如int *ptr[num]的…唔,其实是很简单的问题。多维数组指针的应用还需要多了解啊。
- 传入了一个void型的指针,强制转换类型才能对其进行递增递减的操作。大概是因为递增递减是要看数据类型来增加字节数的,所以没有明确的数据类型,就不知道加一时要偏移多少个字节。<