C ++ malloc () - Biblioteca estándar de C ++

La función malloc () en C ++ asigna un bloque de memoria no inicializada y devuelve un puntero vacío al primer byte del bloque de memoria asignado si la asignación tiene éxito.

La función malloc () en C ++ asigna un bloque de memoria no inicializada y devuelve un puntero vacío al primer byte del bloque de memoria asignado si la asignación tiene éxito.

Si el tamaño es cero, el valor devuelto depende de la implementación de la biblioteca. Puede ser o no un puntero nulo.

prototipo de malloc ()

 void * malloc (tamaño_t tamaño);

Esta función se define en el archivo de encabezado.

Parámetros de malloc ()

  • tamaño: Un valor integral sin signo que representa el bloque de memoria en bytes.

malloc () Valor de retorno

La función malloc () devuelve:

  • un puntero al bloque de memoria no inicializado asignado por la función.
  • puntero nulo si falla la asignación.

Ejemplo 1: ¿Cómo funciona la función malloc ()?

 #include #include using namespace std; int main() ( int *ptr; ptr = (int*) malloc(5*sizeof(int)); if(!ptr) ( cout << "Memory Allocation Failed"; exit(1); ) cout << "Initializing values… " << endl << endl; for (int i=0; i<5; i++) ( ptr(i) = i*2+1; ) cout << "Initialized values" << endl; for (int i=0; i<5; i++) ( /* ptr(i) and *(ptr+i) can be used interchangeably */ cout << *(ptr+i) << endl; ) free(ptr); return 0; )

Cuando ejecute el programa, la salida será:

 Inicializando valores … Valores inicializados 1 3 5 7 9

Ejemplo 2: función malloc () con tamaño cero

 #include #include using namespace std; int main() ( int *ptr = (int*) malloc(0); if(ptr==NULL) ( cout << "Null pointer"; ) else ( cout << "Address = " << ptr << endl; ) free(ptr); return 0; )

Cuando ejecute el programa, la salida será:

 Dirección = 0x371530

Articulos interesantes...