C ++ malloc () - Biblioteca C ++ Padrão

A função malloc () em C ++ aloca um bloco de memória não inicializada e retorna um ponteiro void para o primeiro byte do bloco de memória alocado se a alocação for bem-sucedida.

A função malloc () em C ++ aloca um bloco de memória não inicializada e retorna um ponteiro void para o primeiro byte do bloco de memória alocado se a alocação for bem-sucedida.

Se o tamanho for zero, o valor retornado depende da implementação da biblioteca. Pode ser ou não um ponteiro nulo.

protótipo malloc ()

 void * malloc (size_t size);

Esta função é definida no arquivo de cabeçalho.

Parâmetros malloc ()

  • tamanho: Um valor integral sem sinal que representa o bloco de memória em bytes.

malloc () Valor de retorno

A função malloc () retorna:

  • um ponteiro para o bloco de memória não inicializado alocado pela função.
  • ponteiro nulo se a alocação falhar.

Exemplo 1: Como funciona a função 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; )

Quando você executa o programa, a saída será:

 Inicializando valores… Inicializando valores 1 3 5 7 9

Exemplo 2: função malloc () com tamanho zero

 #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; )

Quando você executa o programa, a saída será:

 Endereço = 0x371530

Artigos interessantes...