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 で動的メモリ割り当てを実行する関数を作成するにはどうすればよいですか?
このような行列がたくさんありますが、同じことを書き続けたくありません。
int * Matrix_B1;
int matrixSize = Rowb * ColumnB; Matrix_B1 = int(*)malloc(matrixSize * sizeof(int));
//値を行列に書き込む-Matrix_B1[4]= $ Value;
//行列がたくさんある場合は、すべての行列のポインタをいくつかの配列pfポインタに格納できます。各行列は2D配列として実装され、そのメモリは動的に割り当てられます。行または列のスタイルでデータにアクセスできます。
通常どおり関数を使用するだけです。寸法を追跡することを忘れないでください。また、完了したら解放することを忘れないでください。
#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;
}