Neste artigo, veremos o calloc() função e como ela pode ser utilizada com sucesso em C++.
O que é função calloc ()?
O função calloc() é uma função de alocação de memória na programação C++. É usado para alocar um bloco de memória para uma matriz ou conjunto de variáveis. O calloc() a função é como a malloc() função, exceto que também define a memória alocada para zeros inicialmente. Isso garante que a memória alocada seja inicializada com um valor conhecido, o que é útil ao trabalhar com arrays e estruturas.
A sintaxe para o função calloc() é o seguinte:
vazio * calloc ( tamanho_t nmemb , tamanho_t tamanho )
A função recebe dois argumentos: nmemb e tamanho . O nmemb argumento especifica o número de elementos no array sendo alocado, enquanto o tamanho argumento especifica o tamanho de cada elemento em bytes.
Além disso, se a alocação de memória for bem-sucedida, o calloc() A função retorna um ponteiro nulo, caso contrário, retorna um ponteiro para o início do bloco de memória recém-formado. Para evitar vazamentos de memória, a memória alocada por calloc() deve ser removido usando o livre() método uma vez que não é mais necessário.
Como usar a função calloc () em C++?
Usar calloc() função em C++, siga as etapas abaixo:
Passo 1: Inclua o arquivo de cabeçalho necessário para calloc() função, que é
Passo 2: Em seguida, declare uma variável de ponteiro do tipo de dados desejado.
Etapa 3: Depois disso use o calloc() função para alocar memória e inicializá-la em 0.
Passo 4: Use a memória alocada conforme necessário.
Passo 5: Quando terminar de usar a memória alocada, libere-a usando o livre() função.
O exemplo a seguir mostra o calloc() implementação de funções em C++.
#include#include
usando namespace std ;
int principal ( ) {
int * ptr ;
ptr = ( int * ) calloc ( 6 , tamanho de ( int ) ) ;
se ( ! ptr ) {
cout << 'Falha na alocação de memória' ;
saída ( 1 ) ;
}
cout << 'Inicializando valores...' << fim
<< fim ;
para ( int eu = 0 ; eu < 6 ; eu ++ ) {
ptr [ eu ] = eu * 3 ;
}
cout << 'Valores inicializados.' << fim ;
para ( int eu = 0 ; eu < 6 ; eu ++ ) {
cout << * ( ptr + eu ) << fim ;
}
livre ( ptr ) ;
retornar 0 ;
}
No código acima, um ponteiro inteiro ptr é declarado primeiro. A memória é então alocada para 6 inteiros usando calloc(), com a memória sendo inicializada com 0. O sizeof(int) A função é usada para calcular quanta memória é necessária para armazenar números inteiros. A alocação de memória é então verificada quanto a erros para garantir o sucesso. Caso contrário, o programa é encerrado e uma mensagem de erro é exibida.
A memória alocada é então inicializada usando números obtidos pela multiplicação 'i*3' usando um para laço. Os valores mantidos na memória alocada são impressos usando um segundo loop for e aritmética de ponteiro com *(ptr + i) . Por fim, a memória que foi alocada dinamicamente é liberada chamando o livre() função, que impede vazamentos de memória. Como sinal de que o programa foi executado com sucesso, ele retorna 0.
Saída
Conclusão
Em C++, o calloc() A função é útil para alocar memória dinamicamente. Ele não apenas aloca memória, mas também a zera, o que é útil ao trabalhar com arrays e estruturas. Entendendo como utilizar calloc() efetivamente é crucial para evitar vazamentos de memória e garantir o sucesso da execução do programa. Os desenvolvedores podem utilizar com segurança o calloc() método em seus programas C++ seguindo as instruções fornecidas neste artigo.