Red de conocimiento informático - Computadora portátil - Ejemplos de uso de asignación de memoria dinámica en lenguaje C

Ejemplos de uso de asignación de memoria dinámica en lenguaje C

1. Función malloc: Su función es asignar un espacio continuo de longitud 1 en el área de almacenamiento de memoria dinámica. Su parámetro es un entero sin signo y el valor de retorno es un puntero a la dirección inicial del área de almacenamiento continuo asignada.

2. Función gratuita: debido a que el área de memoria siempre es limitada, no se puede asignar sin límite y un programa debe intentar ahorrar recursos, por lo que cuando el área de memoria asignada no se utiliza, es necesario hacerlo. lanzado, para que otras variables o programas puedan usarlo. Esto es lo que hace la función gratuita.

3. Función calloc: Su función es asignar un espacio continuo de n longitud en el área de almacenamiento dinámico en la memoria. Esta función devuelve un puntero al comienzo del área asignada, o NULL si la asignación no tuvo éxito.

Extensión:

Operador de función:

nuevo

El operador nuevo se utiliza para solicitar espacio de almacenamiento dinámico del sistema y agregar el An La dirección se utiliza como resultado de la operación y su forma de uso es la siguiente:

Variable de puntero=nuevo tipo de datos;

Ejemplo:

int *p=nuevo int

La función de esta declaración es usar new para solicitar una variable de tipo int (4 bytes) de la memoria y asignar la primera dirección de la variable a la variable de puntero p.

El valor inicial de una variable creada por new es arbitrario y también se puede inicializar al mismo tiempo que se usa new para asignar memoria. Su forma de uso es:

Variable puntero = nuevo tipo de datos (valor inicial).

eliminar

La memoria del montón se puede asignar según demanda y los requisitos de memoria del programa pueden cambiar en cualquier momento. A veces, es posible que el espacio de memoria asignado por new ya no sea necesario cuando el programa se está ejecutando y el programa aún no ha terminado de ejecutarse, por lo que es necesario liberar el espacio de memoria previamente ocupado en la memoria del montón para que pueda reasignarse a otros. partes del programa más adelante. El operador eliminar se utiliza para liberar el espacio de memoria asignado por new y eliminar los objetos creados. Su formato de uso es:

eliminar variable de puntero

La variable de puntero guarda la memoria asignada por. nueva Primera dirección.

Referencia: Enciclopedia Baidu: Asignación de memoria dinámica