C- Variables
Une variable n'est rien d'autre qu'un nom donné à une zone de stockage que nos programmes peuvent manipuler. Chaque variable en C a un type spécifique, qui détermine la taille et la disposition de la mémoire de la variable; la plage de valeurs pouvant être stockées dans cette mémoire ; et l'ensemble des opérations pouvant être appliquées à la variable.
Le nom d'une variable peut être composé de lettres, de chiffres et du caractère de soulignement. Il doit commencer soit par une lettre, soit par un trait de soulignement. Les lettres majuscules et minuscules sont distinctes car C est sensible à la casse. Sur la base des types de base expliqués dans le chapitre précédent, il y aura les types de variables de base suivants −
Sr.No. | Type et description |
---|---|
1 | |
2 | |
3 | |
4 | |
5 |
Le langage de programmation C permet également de définir divers autres types de variables, que nous aborderons dans les chapitres suivants comme l'énumération, le pointeur, le tableau, la structure, l'union, etc. Pour ce chapitre, étudions uniquement les types de variables de base.
Définition des variables en C
Une définition de variable indique au compilateur où et combien de stockage créer pour la variable. Une définition de variable spécifie un type de données et contient une liste d'une ou plusieurs variables de ce type comme suit −
type variable_list;
Ici, tapez doit être un type de données C valide, y compris char, w_char, int, float, double, bool ou tout objet défini par l'utilisateur ; et variable_list peut consister en un ou plusieurs noms d'identifiant séparés par des virgules. Certaines déclarations valides sont présentées ici −
int i, j, k; char c, ch; float f, salary; double d;
La ligne int i, j, k; déclare et définit les variables i, j et k ; qui demandent au compilateur de créer des variables nommées i, j et k de type int.
Les variables peuvent être initialisées (affectées d'une valeur initiale) dans leur déclaration. L'initialiseur consiste en un signe égal suivi d'une expression constante comme suit −
type variable_name = value;
Quelques exemples sont −
extern int d = 3, f = 5; // declaration of d and f. int d = 3, f = 5; // definition and initializing d and f. byte z = 22; // definition and initializes z. char x = 'x'; // the variable x has the value 'x'.
Pour une définition sans initialiseur :les variables avec une durée de stockage statique sont implicitement initialisées avec NULL (tous les octets ont la valeur 0); la valeur initiale de toutes les autres variables est indéfinie.
Déclaration de variables en C
Une déclaration de variable fournit au compilateur l'assurance qu'il existe une variable avec le type et le nom donnés afin que le compilateur puisse poursuivre la compilation sans avoir besoin des détails complets sur la variable. Une définition de variable n'a sa signification qu'au moment de la compilation, le compilateur a besoin d'une définition de variable réelle au moment de la liaison du programme.
Une déclaration de variable est utile lorsque vous utilisez plusieurs fichiers et que vous définissez votre variable dans l'un des fichiers qui sera disponible au moment de la liaison du programme. Vous utiliserez le mot clé extern pour déclarer une variable à n'importe quel endroit. Bien que vous puissiez déclarer une variable plusieurs fois dans votre programme C, elle ne peut être définie qu'une seule fois dans un fichier, une fonction ou un bloc de code.
Exemple
Essayez l'exemple suivant, où les variables ont été déclarées en haut, mais elles ont été définies et initialisées à l'intérieur de la fonction principale −
Démo en direct#include <stdio.h> // Variable declaration: extern int a, b; extern int c; extern float f; int main () { /* variable definition: */ int a, b; int c; float f; /* actual initialization */ a = 10; b = 20; c = a + b; printf("value of c : %d \n", c); f = 70.0/3.0; printf("value of f : %f \n", f); return 0; }
Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant −
value of c : 30 value of f : 23.333334
Le même concept s'applique à la déclaration de fonction où vous fournissez un nom de fonction au moment de sa déclaration et sa définition réelle peut être donnée n'importe où ailleurs. Par exemple −
// function declaration int func(); int main() { // function call int i = func(); } // function definition int func() { return 0; }
Lvalues et Rvalues en C
Il existe deux types d'expressions en C −
-
lvalue − Les expressions qui font référence à un emplacement mémoire sont appelées expressions "lvalue". Une lvalue peut apparaître à gauche ou à droite d'une affectation.
-
rvaleur − Le terme rvalue fait référence à une valeur de données stockée à une certaine adresse en mémoire. Une rvalue est une expression à laquelle une valeur ne peut pas être attribuée, ce qui signifie qu'une rvalue peut apparaître à droite mais pas à gauche d'une affectation.
Les variables sont des lvalues et peuvent donc apparaître sur le côté gauche d'une affectation. Les littéraux numériques sont des rvalues et ne peuvent donc pas être affectés et ne peuvent pas apparaître sur le côté gauche. Jetez un œil aux déclarations valides et invalides suivantes −
int g = 20; // valid statement 10 = 20; // invalid statement; would generate compile-time error
Langue C