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

A função calloc () em C ++ aloca um bloco de memória para uma matriz de objetos e inicializa todos os seus bits para zero.

A função calloc () retorna um ponteiro 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 calloc ()

 void * calloc (size_t num, size_t size);

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

Parâmetros calloc ()

  • num: Um valor integral sem sinal que representa o número de elementos.
  • tamanho: Um valor integral sem sinal que representa o bloco de memória em bytes.

calloc () Valor de retorno

A função calloc () retorna:

  • um ponteiro para o início do bloco de memória alocado pela função.
  • ponteiro nulo se a alocação falhar.

Exemplo 1: Como funciona a função calloc ()?

 #include #include using namespace std; int main() ( int *ptr; ptr = (int *)calloc(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 calloc () com tamanho zero

 #include #include using namespace std; int main() ( int *ptr = (int *)calloc(0, 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...