Como criar uma variedade de strings usando o Malloc em programação C

Como criar uma variedade de strings usando o Malloc em programação C

C A linguagem de programação é uma das famosas linguagens estruturadas que inclui muitos componentes básicos, e as matrizes são uma delas. As matrizes são chamadas de uma coleção de tipos semelhantes de itens armazenados em blocos de memória contíguos. Estes são de dois tipos: matriz estática e matriz dinâmica. Na matriz estática, o tamanho da matriz é fixo. Mas em uma matriz dinâmica, a memória é alocada dinamicamente.

Este post demonstrará:

  • Pré -requisito: Instale o compilador C
  • O que é "Malloc ()”Na programação C?
  • Como criar uma variedade de strings usando “Malloc ()”Na programação C?

Pré -requisito: Instale o compilador C

C compilador é utilizado para transformar o código -fonte em código binário ou de objeto ou para executar o programa C. Portanto, para instalar o compilador C no Windows, vá conferir nosso outro artigo dedicado.

O que é "malloc ()" na programação C?

A matriz na programação C tem um tamanho definido. No entanto, ocasionalmente o tamanho da matriz pode ser insuficiente ou excessivo, o que desperdiça memória. Para superar as limitações da matriz, os desenvolvedores usam várias funções para alocar memória dinamicamente à matriz. Várias funções da biblioteca C, como free (), calloc (), realloc () e malloc (), são usadas para atribuir memória dinamicamente. Mais especificamente, o malloc () é uma função de alocação de memória usada para reservar memória para um número especificado de bytes.

Sintaxe

Ponteiro = (tipo de elenco*) Malloc (tamanho do byte)

Como criar uma variedade de strings usando "Malloc ()" na programação C?

Para criar uma variedade de cordas e atribuir um bloco de memória através do “Malloc ()”Função, veja o exemplo fornecido.

Etapa 1: Crie uma matriz de string usando a função "MaiC ()"

Para criar uma variedade de strings usando a função C da biblioteca padrão "Malloc ()”, Primeiro, abra o editor de código do Visual Studio no Windows e cole o código fornecido em um arquivo de programa com o“.cExtensão:

#incluir
#incluir
#incluir
int main (vazio)

Int tamanho, i;
printf ("Por favor, digite o tamanho da matriz: \ n");
scanf ("%d", & size);
char *str_array [size];
char array_i [size];
printf ("Digite as strings: \ n");
para (i = 0; i
scanf ("%s", array_i);
str_array [i] = (char*) malloc (strlen (array_i)*sizeof (char));
strCpy (str_array [i], array_i);

printf ("Suas cordas foram: \ n");
para (i = 0; i
printf ("%s \ n", str_array [i]);

retornar 0;

A descrição do código acima mencionado é dada abaixo:

  • O "h”A biblioteca é usada para alocação de memória, o“corda.h”É utilizado para executar a operação relacionada à manipulação de strings e“stdio.h”É usado para incluir o fluxo de entrada/saída.
  • Em seguida, definimos o “int main (vazio)”Por declarar a função sem nenhum argumento. Aqui o "vazio”O parâmetro especifica que nenhum valor de retorno é necessário.
  • Então, declaramos duas variáveis. O "tamanho”É usado para obter o número total de entradas de string e“eu”É usado para iteração de loop. Ambas as variáveis ​​são de “int" tipo de dados.
  • O "scanf”É usado para obter ou ler o fluxo de entrada do teclado.
  • Então, inicializamos duas matrizes do “Caracteres" tipo. A primeira matriz é uma matriz de ponteiro usada para apontar e armazenar strings. A segunda matriz é simples “Caracteres”Array usado no“Malloc”Função para aceitar uma string do usuário.
  • O "strcpy”A função é utilizada para copiar a string. Está incluído no programa através do “h" biblioteca.
  • Nós aplicamos o “Malloc ()"Função do"Caracteres*”Tipo de elenco. É usado para alocar memória dinamicamente. O "Malloc ()”A função multiplica o tamanho do personagem por vários bytes de caracteres para alocar blocos de memória suficientes.
  • A matriz de ponteiro “str_array [i]”É usado para apontar e armazenar strings na matriz.
  • Por fim, o “para”O loop é usado para iterar a matriz. Depois disso, imprimimos a matriz usando o “printf”Função.

Etapa 2: Open Terminal

Em seguida, inicie o terminal da barra de menus do Visual Studio:

Etapa 3: Programa C Compile

Em seguida, utilize o “GCC"C Compilador para compilar o programa usando o comando mencionado:

> GCC MALLOC.c

Aqui, "Malloc.c”É o programa C para o qual fornecemos instruções na Etapa 1:

Ao fazer isso, o compilador criará um arquivo executável para executar o programa C, como mostrado abaixo:

Etapa 4: Executar Programa Compilado

Em seguida, execute o programa C executando o “a.exe" arquivo:

> ./a.exe

Pode -se observar que criamos com sucesso uma variedade dinâmica de strings usando o “Malloc ()”Função.

Conclusão

Para criar uma variedade de cordas usando o “Malloc ()"C função padrão, primeiro crie um programa C simples e declare duas matrizes, uma das quais é uma matriz de ponteiro. Depois disso, utilize o “Malloc ()”Função usando o“Pointer-Array = (tipo de elenco*) Malloc (Tamanho do Char de entrada*de entrada*Sintaxe. Em seguida, copie as matrizes de string usando o “strcpy”Função. Este post demonstrou o método para criar uma matriz de string usando “Malloc ()”Na programação C.