Cómo crear una matriz de cadenas con Malloc() en programación C

El lenguaje de programación C es uno de los lenguajes estructurados más famosos que contiene muchos componentes básicos y las matrices son uno de ellos. Las matrices se conocen como una colección de tipos similares de elementos almacenados en bloques contiguos de memoria. Hay dos tipos: matriz estática y matriz dinámica. Con una matriz estática, el tamaño de la matriz es fijo. Sin embargo, en una matriz dinámica, la memoria se asigna dinámicamente. Esta publicación mostrará:

Contenidos

Requisito: instalar el compilador de C

El compilador C se utiliza para convertir el código fuente en código binario u objeto o para ejecutar el programa C. Por lo tanto, para instalar el compilador de C en Windows, lea 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, en ocasiones, el tamaño de la matriz puede ser insuficiente o demasiado grande, lo que desperdicia memoria. Para superar las limitaciones de la matriz, los desarrolladores utilizan varias funciones para asignar memoria de forma dinámica a la matriz. Varias funciones de la biblioteca C como free(), calloc(), realloc() y malloc() se utilizan para asignar memoria de forma dinámica. Más específicamente, malloc() es una función de asignación de memoria utilizada para asignar memoria para un número específico de bytes.
sintaxis
puntero = (tipo de conversión*) malloc(tamaño de byte)

¿Cómo crear una matriz de cadenas con malloc() en programación C?

Para crear una matriz de cadenas y darle un bloque de memoria con el «malloc()” mira el ejemplo proporcionado.
Paso 1: Cree una matriz de cadenas usando la función malloc().
Cómo crear una matriz de cadenas usando la función Biblioteca estándar de Cmalloc()«, primero abra Visual Studio Code Editor en Windows y pegue el código provisto en un archivo de programa con el «C” Extensión: #incluir #incluir #incluir int main(void){int size,i;printf(«Ingrese el tamaño de la matriz: \n»); scanf(«%d»,&tamaño);char *str_array[size];char arreglo_i[size];printf(«Ingrese las cadenas:\n»);for(i=0;i[i]= (char*)malloc(strlen(array_i)*sizeof(char));strcpy(str_array[i],array_i);}printf(«Tus cadenas eran: \n»);for(i=0;i[I]); }return 0;} La descripción del código anterior se proporciona a continuación:

  • Ese «H” biblioteca se utiliza para la asignación de memoria que “cadena.h‘ se usa para realizar la operación relacionada con la manipulación de cadenas, y ‘stdio.h“ se utiliza para encerrar el flujo de entrada/salida.
  • A continuación tenemos el «int principal (vacío)” para declarar la función sin argumentos. Aquí el «VacíoEl parámetro ” indica que no se requiere ningún valor de retorno.
  • Luego declaramos dos variables. Ese «Talla‘ se usa para obtener el número total de entradas de cadena, y ‘yo‘ se utiliza para la iteración del bucle. Ambas variables son de «interno» tipo de datos.
  • Ese «escanear‘ se utiliza para obtener o leer el flujo de entrada desde el teclado.
  • Entonces tenemos dos matrices de «carbonizarse» tipo. La primera matriz es una matriz de punteros utilizada para apuntar y almacenar cadenas. La segunda matriz es un simple «carbonizarse” matriz utilizada en “maloliente” función para aceptar una cadena del usuario.
  • Ese «estresanteLa función ” se utiliza para copiar la cadena. Está incluido en el programa por el “H» Biblioteca.
  • Tenemos eso»malloc()«Funcion de»carbonizarse*“ Escribir tipo. Se utiliza para asignar memoria dinámicamente. Ese «malloc()La función ” multiplica el tamaño del carácter por una cantidad de bytes de carácter para asignar suficientes bloques de memoria.
  • La matriz de punteros «str_array[i]‘ se usa para mostrar y almacenar cadenas en la matriz.
  • Finalmente, el «Por” loop se usa para iterar la matriz. Después de eso tenemos la matriz con el «presión» Función.

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

Paso 3: compilar el programa C
A continuación, utilice el «CCG” Compilador C para compilar el programa con el comando mencionado: Aquí, “Malloc.c” es el programa C para el que proporcionamos instrucciones en el paso 1:

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

Paso 4: Ejecute el programa compilado
A continuación, ejecute el programa C escribiendo «a.exe» Archivo:


Se puede observar que creamos con éxito una matriz dinámica de cadenas con el «malloc()» Función.

Conclusión

Para obtener una matriz de cadenas con «malloc()” Función estándar de C, primero cree un programa C simple y declare dos matrices, una de las cuales es una matriz de punteros. Después de eso, use el «malloc()” función con el “matriz-puntero = (tipo-cast*) malloc(matriz-entrada*tamaño del carácter)» sintaxis. A continuación, copie las matrices de cadenas con el «estresante» Función. Esta publicación tiene el método para crear una matriz de cadenas con «malloc()‘ en programación C.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.