小编coo*_*per的帖子

从C中的函数中释放二维指针数组

在C中,我有以下创建2D数组的功能.

int** createMatrix(int xdim, int ydim){
        int** mat = malloc(xdim*sizeof(int*));

        int i;
        for(i=0; i<xdim; i++){
                mat[i] = malloc(ydim*sizeof(int));
        }

        return mat;
}
Run Code Online (Sandbox Code Playgroud)

在调用函数中(在这种情况下为int main()):

int **matA = createMatrix(10, 10);
free(matA);
Run Code Online (Sandbox Code Playgroud)

我似乎有一个释放内存的问题,我想知道这是否因为变量"mat"永远不会被释放.

是否足以免费(matA),就像我一样?或者是我无法解决的问题(垫子)?

c memory free pointers

2
推荐指数
1
解决办法
493
查看次数

从整数列表更改为0到1之间的权重?

在python中,我有一个列表,例如:

a = [1, 2, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)

列表将始终排序.我想为这些值分配权重,使得权重仅在值0和1之间.最大值将具有权重1,即在该示例中,5将具有权重1.

但是,1不会有权重0(0是特殊的,不包括在内).我希望所有其他权重都是最大数字的某个小数值.我不确定解决这个问题的最佳方法是什么.

python distribution list

0
推荐指数
1
解决办法
258
查看次数

标签 统计

c ×1

distribution ×1

free ×1

list ×1

memory ×1

pointers ×1

python ×1