Na programação C, a matriz é usada para armazenar uma variedade de valores do mesmo tipo de dados e ocupa algum espaço na memória que pode ser estático ou dinâmico. O malloc é uma função usada na programação C para alocação de memória dinâmica.
Neste artigo, aprenderemos sobre a função malloc para criar uma matriz na programação C.
O que é um malloc () na programação C
A memória dinâmica é alocada para o programa durante sua execução de acordo com o espaço necessário. Na memória estática, a memória fixa é alocada ao programa antes da execução do programa, que tem as seguintes desvantagens:
Para evitar essas desvantagens, usaremos o esquema de alocação de memória dinâmica, pois esse esquema atribuiremos a memória do bloco necessário pelo programa durante sua execução. A memória dinâmica tem diferentes funções usadas como um ponteiro para o programa.
A função malloc () significa "alocação de memória" e é usada para alocação de memória dinâmica durante a execução do programa. Quando a função malloc () é chamada, ele envia uma solicitação de um bloco de memória para a pilha (é um segmento de memória em que a memória é alocada aleatoriamente). Se o heap tiver memória equivalente a esse bloco de memória, ele aceitará a solicitação e atribuirá esse tamanho à função MALLOC () contra sua solicitação e, se não tiver memória, ele retornará o valor nulo. Quando terminamos o bloco de memória, podemos limpá -lo usando a função FREE () para que o bloco de memória possa ficar livre e ser usado pelas outras instruções do programa. Para alocação de memória dinâmica, temos que incluir o “stdlib.H ”em arquivos de cabeçalho e a sintaxe geral do uso da função MALLOC é:
1 | $ pointer = (CastType*) Malloc (tamanho); |
Podemos usar qualquer variável em vez de "ponteiro", então podemos substituir o "CastType" pelo tipo de dados cujos valores vão armazenar na matriz. Em seguida, use a função Malloc () e mencione o tamanho da memória que precisávamos.
Como usar a função malloc na programação C para criar uma matriz
Para uma melhor compreensão da criação de uma matriz usando a função malloc (), criaremos um programa. Para usar a programação C no Linux, precisamos instalar o compilador GCC usando o comando:
1 | $ sudo apt install gcc |
Crie um arquivo de texto usando o Nano Editor:
1 | $ nano myfile.c |
Digite o seguinte código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | # inclua # incluir int main (vazio) Int tamanho, i, *my_array; printf (“\ n por favor digite o tamanho da matriz:”); scanf ("%d", & size); my_array = (int *) malloc (tamanho * sizeof (int)); printf (“\ n digite os valores da matriz:”); para (i = 0; i printf (“\ n Os valores na matriz são:”); para (i = 0; i printf ("\ n"); |
Salve o script pelo nome de “myfile.C ”usando o Ctrl+S e depois saia do editor pressionando Ctrl+X. Depois de salvá -lo, compila o código e verifique se há algum erro ou não usando o comando:
1 | $ gcc myfile.C -O MyFile |
O "MyFile" será um arquivo executável, execute o "myfile" usando o comando:
1 | $ ./meu arquivo |
O programa foi executado com sucesso. A explicação do código acima é como:
Conclusão
A função malloc () é usada na alocação de memória dinâmica e também pode ser usada para armazenar valores na matriz. Nesta redação, discutimos como declarar e usar a matriz usando a função malloc (). A abordagem de alocação de memória dinâmica é recomendada quando você deseja alterar o tamanho de uma matriz durante a execução do programa.