Programação  
 
Conhecimento computador >> Programação >> C /C + + programação >> 
Malloc Função
Em C - uma linguagem de programação desenvolvida por Dennis Ritchie no AT & T Bell Laboratories no início de 1970 - a função malloc é um meio de alocação de memória de forma dinâmica, ou em resposta à demanda , em vez de em termos absolutos. Às vezes, os programadores não sei como vai ser necessário mais memória para dados no momento em que está escrevendo um programa, assim malloc lhes permite alocar memória dinamicamente após o início do programa em execução. Alocação de memória

Por padrão , a função malloc aloca um bloco contíguo ou adjacente, de memória em uma área conhecida como uma pilha , que pode ser acessado por um programa para armazenar dados e variáveis. A função malloc recebe um único argumento , um inteiro longo ou de 32 bits que representa o número de bytes para alocar no heap. A função malloc pede o sistema para um bloco de memória do tamanho especificado e retorna um ponteiro - um endereço , a partir do ponto de vista da linguagem de programação - . Ao primeiro elemento do bloco

Valor de retorno

Computadores só tem uma quantidade finita de memória , por isso é possível para a função malloc para solicitar mais memória do que a fisicamente disponível e fazer com que um programa deixe de funcionar. Se não há memória suficiente disponível, malloc retorna um ponteiro nulo, ou um ponteiro com um valor de zero. Para evitar que um programa de deixar de funcionar , os programadores devem testar explicitamente que malloc não retornou nulo, para que eles saibam que a memória solicitada foi alocado com sucesso antes de tentar usá-lo.
Liberando memória

Da mesma forma, um computador não pode perpetuamente alocar mais e mais memória - e substituindo várias vezes um ponteiro que aponta para a memória alocada dinamicamente pode levar a dados tornando-se inacessível. Memória alocada dinamicamente deve ser liberado de volta para o pool de memória do sistema, através da função livre , uma vez que não é mais necessário . Uma vez que um processo termina , toda a memória alocada dinamicamente é liberado de volta para o pool de memória .
Sintaxe

Malloc retorna um ponteiro genérico , ou um ponteiro para void , mas o ponteiro pode ser digitado ou estereotipado , para indicar o tipo de dados para o qual ele aponta . A sintaxe " char * str = (char * ) malloc ( 40) ", por exemplo , aloca memória para uma string de 40 caracteres . Alternativamente , os programadores podem declarar um ponteiro e invocar malloc quando desejam abrir espaço para os elementos em uma matriz . No entanto , é importante notar que a função malloc só atribui memória . Não esvaziar ou não inicializar a memória que ele aloca .

Anterior :

Próximo : No
  Os artigos relacionados
·Como usar arquivos de esqueleto em OGRE 
·Diferença entre fgetc e getc 
·PowerShell Tipos de Objeto 
·Como mudar o nome do botão Declínio no iPhone 
·Como devolver um vetor STL De uma Nova Função 
·Objetivo de Métodos CString 
·Visual C não faz EXE 
·Como fazer um aplicativo para o iPhone no Visual C 
·Como fazer o download e loja de mídia com o iPhone SDK…
·String de conexão para o SQL Authentication 
  Artigos em destaque
·Como obter um protótipo funcional de DLL 
·Como usar um buffer de anel 
·Como acessar podcasts de vídeo com o iPhone SDK 
·Como importar códigos com SVN Xcode 3.2 
·Alternativas ao Boomerang Decompiler 
·Um tutorial sobre Alertas iPhone SDK 
·Como devolver um vetor STL De uma Nova Função 
·Como formatar datas e horas com Iostream 
·Como externo um membro estático 
·Visual C não faz EXE 
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados