Alocamento de memória em C
O compilador de C tem uma biblioteca do alocamento de memória, definida na memória de malloc.h. é reserved usando a função do malloc, e retorna um ponteiro ao endereço. Faz exame de um parâmetro, o tamanho da memória requerido nos bytes.
O seguinte exemplo aloca o espaço para a corda, “hello mundo”.
ptr = (char *)malloc(strlen("Hello world") + 1);
O um byte extra é requerido para fazer exame no cliente do caráter da terminação da corda, “\ 0”. (Char *) é chamado um molde, e força o tipo do retorno para ser char *.
Porque os tipos de dados têm tamanhos diferentes, e o malloc retorna o espaço nos bytes, é prática boa para que as razões do portability usem o operador do sizeof ao especificar um tamanho para alocar.
O seguinte exemplo lê uma corda no amortecedor da disposição de caráter e aloca então a quantidade exata de memória requerida e de cópias ele a um variável chamado "ptr".
#include <string.h>
#include <malloc.h>
int main()
{
char *ptr, buffer[80];
printf("Enter a string: ");
gets(buffer);
ptr = (char *)malloc((strlen(buffer) + 1) *
sizeof(char));
strcpy(ptr, buffer);
printf("You entered: %s\n", ptr);
return 0;
}
A saída do programa será como segue:
Enter a string: India is the best
You entered: India is the best |
|