各位,这函数的形参在主函数该怎么设置指针传递

#define _CRT_SECURE_NO_WARNINGS
#include 
#include
int cmp(const void* a, const void* b)
{
    return ((*((int**)a))[0] > (*((int**)b))[0]);
}

int findMinArrowShots(int** points, int pointsSize, int* pointsColSize) {
    //将points数组作升序排序
    qsort(points, pointsSize, sizeof(points[0]), cmp);

    int arrowNum = 1;
    int i = 1;
    for (i = 1; i < pointsSize; i++) {
        //若前一个气球与当前气球不重叠,证明需要增加箭的数量
        if (points[i][0] > points[i - 1][1])
            arrowNum++;
        else
            //若前一个气球与当前气球重叠,判断并更新最小的x_end
            points[i][1] = points[i][1] > points[i - 1][1] ? points[i - 1][1] : points[i][1];
    }
    return arrowNum;
}

int** points, int pointsSize, int* pointsColSize这三个函数形参,在主函数怎么设置变量传递,
指针很少用,有没有人能在主函数讲解下这些指针怎么设置的

只需要一个二维整数数组points,一个整数pointsSize,一个整型指针pointsColSize
换成代码可以是:

int** points = (int**)malloc(pointsSize * sizeof(int*));
int pointsSize = 1;
int pointsColSize = 1;

int res = findMinArrowShots(points, pointsSize, &pointsColSize);

int * p1, * p2;
或者
int p1[...], p2[...];
findMinArrowShots(&p1, size, &p2);

这个函数是在一个点数组的数组中搜索,points是所有点,pointsColSize表示有几个点数组,pointsSize表示一共有多少个点

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^