A função malloc () é usada na programação C para armazenar os dados na pilha, que é o armazenamento dinâmico de memória. É usado principalmente para a declaração dinâmica das matrizes e também pode ser usada para a criação de matrizes bidimensionais. As matrizes bidimensionais são usadas para plotar os valores na forma tabular com as colunas e linhas.
Nesta redação, aprenderemos a criar uma matriz bidimensional usando a função malloc () na programação C.
O que é uma função malloc () na programação C
Em alguns programas específicos, geralmente não podemos prever o tamanho de uma matriz. Se atribuirmos os valores à matriz sozinhos, ela não poderá ser alterada durante a execução. Isso criará problemas, ou a memória ficará baixa para a matriz ou a matriz ocupará menos espaço desperdiçando a memória, para evitar isso, recomenda -se atribuir matrizes dinamicamente.
Na programação C, para alocação de memória dinâmica, diferentes funções são usadas. Uma delas é a função malloc (); Ele envia uma solicitação para a pilha para um bloco específico de memória e, se o heap tiver o espaço, ele responde alocando o bloco de memória solicitado ao Malloc ().
O malloc () ocupará o espaço do bloco de memória atribuído de acordo com a necessidade de um programa executado e após a execução bem -sucedida, esse espaço pode ser liberado usando a função gratuita ().
Como criar a matriz bidimensional usando a função MALLOC () na programação C
Antes da criação, considere a figura a seguir para obter uma melhor compreensão de como funciona a matriz bidimensional.
Na figura acima, podemos entender que em uma matriz bidimensional, primeiro os elementos serão fixados na primeira caixa da coluna após a linha correspondente será preenchida e depois a segunda linha da coluna e continua até Toda a matriz é preenchida como os primeiros elementos serão colocados em x [0] [0 [, então x [0] [1], então [0] [2], então x [0] [1], [1] [ 0], e então assim.
Consideraremos o seguinte exemplo básico de criação de uma matriz bidimensional usando o Malloc () na programação C. Criamos um arquivo de texto, cfile.C e digite o seguinte script nele:
#incluirPara compilar o programa acima, usaremos o compilador GCC:
$ GCC CFILE.C -O CFILEExecute o cfile, qual é o arquivo compilado do cfile.c e exiba a saída:
$ ./cfileNo código acima, incluímos as bibliotecas do stdlib.h (para alocação de memória dinâmica) e stdio.H (para a entrada e saída), depois declaramos as variáveis linhas, coluna, i e j. Após a declaração, chamamos o malloc () para atribuir a memória de acordo com os valores de "linha" e "coluna". Depois que a memória foi alocada, simplesmente usamos os dois loops aninhados para salvar os valores na matriz e, em seguida, usando o printf () no loop aninhado, exibimos os valores. No final, usamos o livre () para esvaziar o espaço ocupado atribuído na pilha por Malloc ().
Conclusão
Matrizes bidimensionais são semelhantes às matrizes unidimensionais, a única diferença entre as matrizes 1D e 2D é; As matrizes 2D armazenam os dados na forma tabular, e a matriz 1D armazena dados na forma de linhas. As matrizes são o básico das estruturas de dados e podem armazenar uma grande quantidade de dados do mesmo tipo de dados. Neste artigo, explicamos a criação da matriz bidimensional na memória dinâmica chamando a função malloc ().