2013-02-18 4 views

ответ

0

int * Matrix_B1;

int matrixSize = Rowb * ColumnB; Matrix_B1 = int (*) malloc (matrixSize * sizeof (int));

// запись значений в матрицу - Matrix_B1 [4] = $ Value;

// Если есть много матриц, то вы можете хранить указатели каждой матрицы в указателях pf массива. каждая матрица реализована как 2D-массив, и ее память динамически распределена. Вы можете получить доступ к данным в стиле строк или столбцов.

0

Просто используйте функции, как обычно. Не забудьте отслеживать размеры. Также не забудьте освободиться, когда закончите!

#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; 
} 
+0

O Спасибо большое. Я просто видел, что я ошибался – FrancFine

Смежные вопросы