关于矩阵比较大小的故事

这篇博客记录了作者在处理矩阵比较大小问题时遇到的挑战,包括理解二维数组指针的使用、void指针的递增操作、qsort_r函数的运用以及size_t的注意事项。在函数声明和定义过程中,作者探讨了如何处理不完整矩阵的特殊情况,并意识到数据结构的灵活性。
摘要由CSDN通过智能技术生成

写在前面

以为这个博客会永远的荒芜下去…没想到这时候可以用来自己做一些关于代码作业的小的记录用。做好了几年以后回头不可思议的看着负基础的自己认真的记录这些可能很简单的事情的准备,开始吧。

题目部分

//主函数部分 
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型的指针,强制转换类型才能对其进行递增递减的操作。大概是因为递增递减是要看数据类型来增加字节数的,所以没有明确的数据类型,就不知道加一时要偏移多少个字节。<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值