再问一次,第四行是干嘛用的?

int** generate(int numRows, int* returnSize, int** returnColumnSizes)
{
    int** ret = (int **)malloc(sizeof(int*) * numRows);//ret接收
    *returnSize = numRows;
    *returnColumnSizes = (int *)malloc(sizeof(int) * numRows);
    for (int i = 0; i < numRows; ++i) 
    {
        ret[i] = (int*)malloc(sizeof(int) * (i + 1));
        (*returnColumnSizes)[i] = i + 1;
        ret[i][0] = ret[i][i] = 1;
        for (int j = 1; j < i; ++j)
        {
            ret[i][j] = ret[i - 1][j] + ret[i - 1][j - 1];
        }
    }
    return ret;
}

再问一次,leecode第118题杨辉三角,第四行是干嘛用的?比较急

第四行是用来放放回数组的元素个数的,LeetCode上做题的方式需要这样

你是说 * returnColumnSizes = (int * )malloc(sizeof(int) * numRows); 吗?
这是给返回值分配空间啊,杨辉三角的结果是个二维数组,这是给二维数组动态分配空间的。
这一行就是分配numRows个int * 指针空间。然后在下面的循环中再给每个int * 分配空间