Maison > développement back-end > C++ > En programmation C, que signifie l'allocation de mémoire statique ?

En programmation C, que signifie l'allocation de mémoire statique ?

王林
Libérer: 2023-09-14 15:21:01
avant
1051 Les gens l'ont consulté

La mémoire peut être allouée des deux manières suivantes :

En programmation C, que signifie lallocation de mémoire statique ?

Allocation de mémoire statique

Les variables statiques sont définies dans un bloc d'espace alloué avec une taille fixe. Une fois attribué, il ne peut être libéré.

Allouez de la mémoire pour les variables déclarées dans le programme.

  • Vous pouvez utiliser l'opérateur "&" pour obtenir l'adresse et l'attribuer au pointeur.

  • La mémoire est allouée au moment de la compilation.

  • Il utilise la pile pour maintenir l'allocation statique de la mémoire.

  • Dans ce type d'allocation, une fois la mémoire allouée, la taille de la mémoire ne peut plus être modifiée.

  • Moins efficace.

La taille finale de la variable est déterminée avant l'exécution du programme, c'est ce qu'on appelle l'allocation de mémoire statique. Également connue sous le nom d’allocation de mémoire au moment de la compilation.

Nous ne pouvons pas modifier la taille des variables allouées au moment de la compilation.

Exemple 1

L'allocation de mémoire statique est généralement utilisée pour les tableaux. Faisons un exemple de programme en prenant un tableau comme exemple :

Démonstration

#include<stdio.h>
main (){
   int a[5] = {10,20,30,40,50};
   int i;
   printf (&ldquo;Elements of the array are&rdquo;);
   for ( i=0; i<5; i++)
      printf (&ldquo;%d, a[i]);
}
Copier après la connexion

Sortie

Elements of the array are
1020304050
Copier après la connexion

Exemple 2

Considérons un autre exemple pour calculer la somme et le produit de tous les éléments d'un tableau −

Démonstration en temps réel

#include<stdio.h>
void main(){
   //Declaring the array - run time//
   int array[5]={10,20,30,40,50};
   int i,sum=0,product=1;
   //Reading elements into the array//
   //For loop//
   for(i=0;i<5;i++){
      //Calculating sum and product, printing output//
      sum=sum+array[i];
      product=product*array[i];
   }
   //Displaying sum and product//
   printf("Sum of elements in the array is : %d</p><p>",sum);
   printf("Product of elements in the array is : %d</p><p>",product);
}
Copier après la connexion

Sortie

Sum of elements in the array is : 150
Product of elements in the array is : 12000000
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal