Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
As diferenças em malloc e calloc
malloc e calloc são duas funções de gerenciamento de memória na linguagem de programação "C". Programas não precisa reservar áreas de memória , porque isso geralmente é a responsabilidade do sistema operacional. Estas duas funções não são usados ​​com freqüência e são necessários apenas para aqueles programas que não podem confiar em processos de gerenciamento de memória padrão. "C" Linguagem de Programação

"C" tem sido um idioma preferido para a programação e manipulação de arquivos de rede. É uma língua difícil de aprender, porque suas palavras-chave são muito mais codificado e menos como linguagem real do que outras linguagens como COBOL, Pascal ou Java. "C" está intimamente ligada ao sistema operacional Unix. Na verdade, o Unix é escrito em "C" Embora Unix tem a sua própria linguagem de script , "C" é o idioma predominante para serviços baseados em Unix programação. Como a alocação de memória está intimamente relacionado com os sistemas operacionais , malloc e calloc é mais provável de ser encontrado em serviços de baixo nível programado em "C" do que no cliente voltado para aplicações de alto nível.
Gerenciamento de Memória

um programa de "C" é uma lista de instruções legíveis por humanos que não podem ser executados em um computador. O programa tem de ser compilado , o que gera uma cópia do programa em código legível por máquina . Os sistemas operacionais geralmente disponibilizar locais de memória para as variáveis ​​e instruções no programa no momento em que o programa é compilado . As variáveis ​​são um espaço de armazenamento temporário para os dados durante o curso da execução do programa . Malloc e calloc fornecer um método para retardar a alocação de endereços de memória até que o programa é executado. Isso é chamado de gerenciamento de memória dinâmica.
Malloc e calloc

Ambos malloc e calloc alocar um espaço na memória heap para o programa. Cada função retorna um ponteiro para o primeiro endereço de memória alocada e todos os outros blocos de memória devem ser contíguos. Se o sistema não tiver a memória disponível , ambas as funções retornar nulo . Ambos memória reserva para funções ou inteiro ou dados de caracteres. Em cada caso , o tamanho do bloco de memória deve ser um múltiplo do tamanho exigido para o tipo de dados . Portanto, é prática comum usar o sizeof () função dentro da lista de parâmetros para tanto malloc e calloc para o argumento tamanho do bloco para garantir que o tamanho da memória requerida é um múltiplo do tipo de dados pretendido.

Comparação

Malloc tem um argumento e aloca um bloco do tamanho solicitado. Calloc leva dois argumentos , os quais são o número de blocos necessários e o tamanho requerido para cada bloco . Por esta razão , malloc é julgado como sendo úteis para uma única variável , e calloc é mais adequado para atribuição de memória para uma disposição - que contém vários elementos . Malloc não inicializa a área de memória solicitado , enquanto a zero calloc preenche.

Anterior :

Próximo : No
  Os artigos relacionados
·XCode : Como criar uma gota 
·Objetivo principal de arquivos de cabeçalho 
·Substrings comuns em C 
·Conceitos básicos do computador em Turbo C + + 
·Como alterar AppDelegate em um iPhone 
·Como identificar os tipos de validação de entrada 
·Como mudar o nome do botão Declínio no iPhone 
·O que é uma interface CPP 
·Funções Iomanip 
·Como programar Cacau em um iPhone 
  Artigos em destaque
·Como externo um membro estático 
·Como adicionar GMP para Xcode 
·Como depurar vazamentos de memória em GDB 
·Base de SDK xCode Faltando 
·Conceitos básicos do computador em Turbo C + + 
·Como fazer um aplicativo para o iPhone no Visual C 
·Como importar códigos com SVN Xcode 3.2 
·O que significa isso , se um arquivo de aplicativo já …
·Como devolver um vetor STL De uma Nova Função 
·Como criar auto_ptr Sintaxe 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados