En la programación C, la matriz se utiliza para almacenar una gama de valores del mismo tipo de datos y ocupa algún espacio en la memoria que puede ser estático o dinámico. El malloc es una función utilizada en la programación C para la asignación de memoria dinámica.
En este artículo, aprenderemos sobre la función Malloc para crear una matriz en la programación C.
¿Qué es un malloc () en la programación C?
La memoria dinámica se asigna al programa durante su ejecución de acuerdo con el espacio que necesita. En la memoria estática, la memoria fija se asigna al programa antes de la ejecución del programa que tiene las siguientes desventajas:
Para evitar estas desventajas, utilizaremos el esquema de asignación de memoria dinámica, ya que este esquema asignará la memoria del bloque que necesita el programa durante su ejecución. La memoria dinámica tiene diferentes funciones utilizadas como puntero al programa.
La función malloc () significa "asignación de memoria" y se utiliza para la asignación de memoria dinámica mientras la ejecución del programa. Cuando se llama a la función malloc (), envía una solicitud de un bloque de memoria al montón (es un segmento de memoria donde la memoria se asigna al azar). Si el montón tiene memoria equivalente a ese bloque de memoria, aceptará la solicitud y asignará ese tamaño a la función malloc () en su solicitud, y si no tiene memoria, devolverá el valor nulo. Cuando terminemos con el bloque de memoria, podemos borrarlo utilizando la función Free () para que el bloque de memoria pueda liberarse y ser utilizado por las otras instrucciones del programa. Para la asignación de memoria dinámica, tenemos que incluir el "stdlib.H ”en los archivos de encabezado y la sintaxis general de usar la función MALLOC es:
1 | $ Pointer = (Casttype*) malloc (tamaño); |
Podemos usar cualquier variable en lugar de "puntero", entonces podemos reemplazar el "Casttype" con el tipo de datos cuyos valores van a almacenar en la matriz. Luego use la función malloc () y mencione el tamaño de la memoria que necesitamos.
Cómo usar la función MALLOC en la programación C para crear una matriz
Para una mejor comprensión de la creación de una matriz utilizando la función malloc (), crearemos un programa. Para usar la programación C en Linux, tenemos que instalar el compilador GCC usando el comando:
1 | $ sudo apt install gcc |
Cree un archivo de texto utilizando el editor nano:
1 | $ nano myfile.C |
Escriba el siguiente código:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 dieciséis 17 18 19 20 21 22 23 24 25 26 27 | # incluir # incluir int main (nulo) int tamaño, i, *my_array; printf ("\ n Por favor escriba el tamaño de la matriz:"); scanf ("%d" y tamaño); my_array = (int *) malloc (size * sizeof (int)); printf ("\ n Ingrese los valores de la matriz:"); para (i = 0; i printf ("\ n Los valores en la matriz son:"); para (i = 0; i printf ("\ n"); |
Guarde el guión con el nombre de "myfile.C ”usando el Ctrl+S y luego salga del editor presionando Ctrl+X. Después de guardarlo, compile el código y verifique si hay algún error o no usando el comando:
1 | $ GCC myfile.c -o myfile |
El "myfile" será un archivo ejecutable, ejecute "myfile" usando el comando:
1 | ps ./mi archivo |
El programa fue ejecutado con éxito. La explicación del código anterior es como:
Conclusión
La función malloc () se usa en la asignación de memoria dinámica y también se puede usar para almacenar valores en la matriz. En este artículo, hemos discutido cómo declarar y usar la matriz usando la función MALLOC (). Se recomienda el enfoque de asignación de memoria dinámica cuando desea cambiar el tamaño de una matriz durante la ejecución del programa.