Cómo crear una variedad de cadenas usando Malloc en la programación C

Cómo crear una variedad de cadenas usando Malloc en la programación C

C El lenguaje de programación es uno de los lenguajes estructurados famosos que incluye muchos componentes básicos, y las matrices son uno de ellos. Las matrices se denominan una colección de tipos similares de elementos almacenados en bloques de memoria contiguos. Estos son de dos tipos: matriz estática y matriz dinámica. En la matriz estática, el tamaño de la matriz es fijo. Pero en una matriz dinámica, la memoria se asigna dinámicamente.

Esta publicación demostrará:

  • Prerrequisito: Instalar compilador C
  • Qué es "malloc ()"En la programación C?
  • Cómo crear una variedad de cadenas usando "malloc ()"En la programación C?

Prerrequisito: Instalar compilador C

El compilador C se utiliza para transformar el código fuente en código binario u objeto o para ejecutar el programa C. Por lo tanto, para instalar el compilador C en Windows, visite nuestro otro artículo dedicado.

¿Qué es "malloc ()" en la programación C?

La matriz en la programación C tiene un tamaño definido. Sin embargo, ocasionalmente el tamaño de la matriz puede ser insuficiente o excesivo, lo que desperdicia memoria. Para superar las limitaciones de la matriz, los desarrolladores usan varias funciones para asignar la memoria dinámicamente a la matriz. Varias funciones de la biblioteca C, como Free (), Calloc (), REALLOC () y MALLOC (), se utilizan para asignar memoria dinámicamente. Más específicamente, el malloc () es una función de asignación de memoria utilizada para reservar la memoria para un número especificado de bytes.

Sintaxis

pointer = (Cast-type*) malloc (tamaño de byte)

Cómo crear una matriz de cadenas usando "malloc ()" en la programación C?

Para crear una matriz de cadenas y asignarle un bloque de memoria a través del "malloc ()"Función, mire el ejemplo proporcionado.

Paso 1: cree una matriz de cadena usando la función "malloc ()"

Para crear una matriz de cadenas utilizando la función de biblioteca estándar C "malloc ()", Primero, abra el editor de código de Visual Studio en Windows y pegue el código proporcionado en un archivo de programa que tenga el".C" extensión:

#incluir
#incluir
#incluir
int main (nulo)

int tamaño, i;
printf ("Escriba el tamaño de la matriz: \ n");
scanf ("%d" y tamaño);
char *str_array [tamaño];
Char array_i [tamaño];
printf ("Ingrese las cadenas: \ 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 ("Sus cuerdas fueron: \ n");
para (i = 0; i
printf ("%s \ n", str_array [i]);

regresar 0;

La descripción del código mencionado anteriormente se da a continuación:

  • El "H"La biblioteca se usa para la asignación de memoria, el"cadena.H"Se utiliza para realizar la operación relacionada con la manipulación de la cadena, y"stdio.H"Se usa para incluir la secuencia de entrada/salida.
  • A continuación, hemos definido el "int main (nulo)"Para declarar la función sin ningún argumento. Aquí el "vacíoEl parámetro especifica que no se requiere valor de retorno.
  • Entonces, hemos declarado dos variables. El "tamaño"Se usa para obtener el número total de entradas de cadena, y"i"Se usa para la iteración de bucle. Ambas variables son de "En t" tipo de datos.
  • El "escaneo"Se usa para obtener o leer la transmisión de entrada del teclado.
  • Luego, inicializamos dos matrices de la "carbonizarse" tipo. La primera matriz es una matriz de puntero que se usa para apuntar y almacenar cuerdas. La segunda matriz es simple "carbonizarseArray utilizada en el "malloc"Función para aceptar una cadena del usuario.
  • El "strcpySe utiliza la función para copiar la cadena. Se incluye en el programa a través del "H" biblioteca.
  • Hemos aplicado el "malloc ()"Función del"carbonizarse*"Tipo de elenco. Se usa para asignar la memoria dinámicamente. El "malloc ()"La función multiplica el tamaño del personaje por varios bytes de caracteres para asignar suficientes bloques de memoria.
  • La matriz de puntero "str_array [i]"Se usa para apuntar y almacenar cuerdas en la matriz.
  • Por último, el "paraEl bucle se usa para iterar la matriz. Después de eso, imprimimos la matriz usando el "printf" función.

Paso 2: terminal abierto

A continuación, inicie el terminal desde la barra de menú de Visual Studio:

Paso 3: Compilar el programa C

A continuación, utilice el "GCC"C Compilador para compilar el programa utilizando el comando mencionado:

> GCC Malloc.C

Aquí, "Malloc.C"Es el programa C para el que hemos proporcionado instrucciones en el paso 1:

Al hacerlo, el compilador creará un archivo ejecutable para ejecutar el programa C como se muestra a continuación:

Paso 4: Ejecutar el programa compilado

A continuación, ejecute el programa C ejecutando el "a.exe" archivo:

> ./a.exe

Se puede observar que hemos creado con éxito una matriz dinámica de cadenas utilizando el "malloc ()" función.

Conclusión

Para crear una variedad de cadenas usando el "malloc ()"C Función estándar, primero cree un programa C simple y declare dos matrices, una de las cuales es una matriz de puntero. Después de eso, utilice el "malloc ()"Función utilizando el"Pointer-array = (Cast-type*) malloc (matriz de entrada*tamaño de char)"Sintaxis. A continuación, copie las matrices de cadena usando el "strcpy" función. Esta publicación ha demostrado el método para crear una matriz de cadenas usando "malloc ()"En la programación C.