Maison  >  Article  >  développement back-end  >  En langage C, quelle est la classe de stockage des registres ?

En langage C, quelle est la classe de stockage des registres ?

WBOY
WBOYavant
2023-08-30 09:45:151434parcourir

En langage C, quelle est la classe de stockage des registres ?

Il existe quatre classes de stockage dans le langage de programmation C, qui sont :

  • auto
  • extern
  • static
  • register

Register variable

  • Le mot-clé est register.

  • La valeur d'une variable de registre est stockée dans le registre du CPU plutôt que dans la mémoire, où sont stockées les variables ordinaires.

  • Register est une unité de stockage temporaire dans le CPU.

  • Ils permettent aux variables de registre d'avoir des temps d'accès plus rapides que les variables normales.

Exemple 1

Ce qui suit est la classe de stockage de registre pour un programme C :

Démonstration

#include<stdio.h>
main ( ){
   register int i;
   for (i=1; i<=5; i++)
      printf ("%d ",i);
}

Sortie

La sortie est indiquée ci-dessous −

1 2 3 4 5

Exemple 2

Considérez un autre programme C en utilisant le Register Storage Class Program −

Démonstration en ligne

#include<stdio.h>
int main(){
   register int a;
   printf("%d",a); //prints default value of a =0
}

Output

La sortie est indiquée ci-dessous −

0

Exemple 3

Ce qui suit est le troisième programme C pour la classe de stockage statique −

#include<stdio.h>
int main(){
   register int i = 10;
   int *p;
   //int *p = &i; //error occurred ,here we are trying to request address of register    variable
   printf("Value of i: %d", *p);
   printf("Address of i: %u", p);
}

Output

La sortie est indiqué ci-dessous −

Error:add of reg var?

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer