“Conocimientos Programación>C /C + + Programming

Función Malloc

2012/8/6
En C - un lenguaje de programación diseñado por Dennis Ritchie de AT & T Bell Laboratories a principios de 1970 - la función malloc es un medio de la asignación de memoria dinámica, o en respuesta a la demanda, y no en términos absolutos . A veces los programadores no saben cómo se necesitará más memoria para los datos en el momento que están escribiendo un programa, lo que les permite malloc para asignar memoria dinámicamente después de que el programa ha comenzado a ejecutarse . De asignación de memoria

De forma predeterminada , la función malloc asigna un bloque contiguo o adyacente, de la memoria en una zona conocida como un montón, que se puede acceder mediante un programa para almacenar datos y variables. La función malloc toma un único argumento , un entero largo o de 32 bits que representa el número de bytes a asignar del montón. La función malloc pide al sistema para un bloque de memoria del tamaño especificado y devuelve un puntero - una dirección , desde el punto de vista del lenguaje de programación - . Para el primer elemento del bloque

valor devuelto

ordenadores sólo tienen una cantidad limitada de memoria , por lo que es posible que la función malloc para pedir más memoria que la disponible físicamente y hacer que un programa se bloquee. Si no hay suficiente memoria disponible , malloc devuelve un puntero nulo o un puntero con un valor de cero. Para evitar que un programa falle , los programadores deben probar explícitamente que malloc no ha vuelto nulo, para que sepan que la memoria solicitada se asignó correctamente antes de intentar usarlo .
Liberar memoria

Del mismo modo, un equipo no puede asignar permanentemente más y más memoria - y sobrescribir varias veces un puntero que apunta a la memoria asignados de forma dinámica puede conducir a los datos dejen de ser accesibles . Por lo tanto, la memoria dinámicamente asignada debe ser liberado de nuevo al banco de memoria del sistema, mediante la función gratuita , una vez que ya no es necesario . Una vez que el proceso termina , toda la memoria dinámicamente asignada se libera de nuevo al bloque de memoria .
Sintaxis

Malloc devuelve un puntero genérico, o un puntero a void , pero el puntero puede ser escrito o encasillado para indicar el tipo de datos a los que apunta. La sintaxis "char * str = (char *) malloc ( 40 ) ", por ejemplo , asigna memoria para una cadena de 40 caracteres de longitud . Alternativamente , los programadores pueden declarar un puntero e invocar malloc cuando quieren hacer espacio para los elementos de una matriz . Sin embargo, es importante tener en cuenta que la función malloc sólo asigna memoria . No hace vacío o no inicializar la memoria que asigna .

C /C + + Programming
Cómo convertir un BMP en una matriz Byte
Cómo crear mapas de mensajes de MFC
Cómo declarar una función en C
Cómo construir un motor de juego para principiantes
Cómo hacer Cin.Fail
Cómo utilizar la función strrchr en C + +
Cómo agregar una casilla de verificación de la columna a un DataGridView
Cómo hacer un archivo EXE en el Bloc de notas
Conocimientos Informáticos © http://www.ordenador.online