关于#c语言#的知识点:关于堆排序的问题

本人在leetcode上碰到了一个问题,题 目如下:

img

代码如下:

int* getLeastNumbers(int* arr, int arrSize, int k, int* returnSize){
    *returnSize = k;
    if (k == 0 || k > arrSize) {
        return NULL;
    }
    int *ans = (int *)malloc(sizeof(int) * k);
    SqList L;
    L.len = arrSize;
    L.d = (int *)malloc(sizeof(int) * (arrSize + 1)); // 把0留出来
    int i;
    for (i = 0; i < arrSize; i++) {
        L.d[i + 1] = arr[i];
    }

    HeapSort(&L);

    for (i = 0; i < k; i++) {
        ans[i] = L.d[i + 1];
    }
    return ans;
}

请问 参数表里 int型指针returnSize 指向的是什么?
我自己的理解是:既然有K当参数指明了需要前K个数,就不需要*returnSize = k 这条语句了。