Attribution de mémoire dans C
Le compilateur de C a une bibliothèque d'attribution de mémoire, définie dans la mémoire de malloc.h. est réservé en utilisant la fonction de malloc, et renvoie un indicateur à l'adresse. Elle prend un paramètre, la taille de la mémoire exigée en bytes.
L'exemple suivant assigne l'espace pour la corde, "hello world".
ptr = (char *)malloc(strlen("Hello world") + 1);
L'un byte supplémentaire est exigé pour tenir compte du caractère d'arrêt de corde, « \ 0 ». (Char *) s'appelle une fonte, et force le type de retour pour être char *.
L'un byte supplémentaire est exigé pour tenir compte du caractère d'arrêt de corde, « \ 0 ». (Char *) s'appelle une fonte, et force le type de retour pour être char *.
L'exemple suivant lit une corde dans l'amortisseur d'ensemble de caractères et puis assigne la quantité exacte de mémoire exigée et de copies il à un « PTR » appelé variable.
#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;
}
Le rendement du programme sera comme suit :
Enter a string: India is the best
You entered: India is the best |
|