int **Matrix_B1;
Matrix_B1 = (int**)malloc(RowB*(sizeof(int*)));
for (int p=0; p<RowB; p++)
{
Matrix_B1[p] = (int*)malloc(ColumnB*(sizeof(int)));
}
如何在 c 中创建一个函数来执行动态内存分配?
我有很多这样的矩阵,我不想继续写同样的东西。
int **Matrix_B1;
Matrix_B1 = (int**)malloc(RowB*(sizeof(int*)));
for (int p=0; p<RowB; p++)
{
Matrix_B1[p] = (int*)malloc(ColumnB*(sizeof(int)));
}
如何在 c 中创建一个函数来执行动态内存分配?
我有很多这样的矩阵,我不想继续写同样的东西。
诠释 *Matrix_B1;
int matrixSize = Rowb * ColumnB; Matrix_B1 = int(*)malloc(matrixSize*sizeof(int));
// 将值写入矩阵 - Matrix_B1[4] = $Value;
// 如果有很多矩阵,你可以将每个矩阵的指针存储在一些数组 pf 指针中。每个矩阵都实现为二维数组,其内存是动态分配的。您可以以行或列的方式访问数据。
只需像往常一样使用函数。请记住跟踪尺寸。还记得完成后释放!
#include <stdlib.h>
int **Create2x2Matrix(int rowB, int columnB)
{
int **matrix = (int**)malloc(rowB*(sizeof(int*)));
for (int p=0; p<rowB; p++)
{
matrix[p] = (int*)malloc(columnB*(sizeof(int)));
}
return matrix;
}
void Destroy2x2Matrix(int **matrix, int rowB)
{
for (int p=0; p<rowB; p++)
{
free(matrix[p]);
}
free(matrix);
}
int main()
{
int rowB = 10;
int columnB = 11;
int **matrix_B1 = Create2x2Matrix(rowB, columnB);
Destroy2x2Matrix(matrix_B1, rowB);
return 0;
}