Maison > Article > développement back-end > Expliquer l'allocation dynamique de mémoire en langage C avec un exemple
À l'aide de la programmation C, trouvez la somme de n nombres saisis par l'utilisateur en utilisant la mémoire allouée dynamiquement.
L'allocation dynamique de mémoire permet aux programmeurs C d'allouer de la mémoire au moment de l'exécution.
Les différentes fonctions que nous utilisons pour allouer dynamiquement de la mémoire au moment de l'exécution incluent :
Le programme C suivant est utilisé pour afficher des éléments et calculer la somme de n nombres.
En utilisant des fonctions d'allocation dynamique de mémoire, nous essayons de réduire le gaspillage de mémoire.
Démonstration
#include<stdio.h> #include<stdlib.h> void main(){ //Declaring variables and pointers,sum// int numofe,i,sum=0; int *p; //Reading number of elements from user// printf("Enter the number of elements : "); scanf("%d",&numofe); //Calling malloc() function// p=(int *)malloc(numofe*sizeof(int)); /*Printing O/p - We have to use if statement because we have to check if memory has been successfully allocated/reserved or not*/ if (p==NULL){ printf("Memory not available"); exit(0); } //Printing elements// printf("Enter the elements : </p><p>"); for(i=0;i<numofe;i++){ scanf("%d",p+i); sum=sum+*(p+i); } printf("</p><p>The sum of elements is %d",sum); free(p);//Erase first 2 memory locations// printf("</p><p>Displaying the cleared out memory location : </p><p>"); for(i=0;i<numofe;i++){ printf("%d</p><p>",p[i]);//Garbage values will be displayed// } }
Enter the number of elements : 5 Enter the elements : 23 34 12 34 56 The sum of elements is 159 Displaying the cleared out memory location : 12522624 0 12517712 0 56
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!