Variabilele pot fi statice sau dinamice, locale sau globale.
Declararea unei variabile globale se face la inceputul unui fisier sursa (in afara tuturor functiilor) si poate fi referita pana la sfarsitul programului (in orice functie). Utilizarea lor in alte fisiere sursa se poate face doar daca acestea sunt declarate ca variabile externe:
extern declaratie_variabila
Exemplu:
VExterne.Cpp:
#include <stdio.h>;
#include 'Fs.h';
float Pi=3.14; // variabila globala
void main (void)
Fs.h
float LungC (float r)
O variabila locala este utilizabila (vizibila) doar in modulul sau in functia in care a fost definita, putand fi alocata dinamic (variabila automatica, alocata pe stiva) sau static (variabila statica, alocata in zona de memorie a programului). Implicit o variabila locala este automatica, iar daca dorim ca aceasta sa fie statica, declaratia ei trebuie sa fie precedata de cuvantul cheie static:
static declaratie_variabila
Functiile au implicit atributul extern, deci pot fi apelate din alte fisiere sursa, dar daca dorim ca acest apel sa nu fie permis, atunci se vor declara statice prin scrierea cuvantului cheie static inaintea antetului acesteia ( static antet_functie .
Exemplu:
VLocale.Cpp:
#include <stdio.h>;
#include 'Sursa.h';
void main (void)
Sursa.h
static int Cifra_Hexa (int s)
static void Print_Byte(int b)
void Print_Hexa(int z)
Exista posibilitatea ca intr-un registru liber sa fie alocata o variabila care este utilizata frecvent, penntru a mari viteza de executie. In registrii se pot memora parametri functiilor sau variabile automatice de tip int, char sau pointer. Pentru ca o variabila sa fie memorata intr-un registru, declaratia ei trebuie sa fie precedata de cuvantul cheie register:
register declaratie_variabila
Exemplu:
float f ( register int i );
Variabilele simple se initializeaza printr-o declaratie de forma:
Tip Identificator_de_variabila = Expresie
Exemple:
float f ( int n );
Tablourile se initializeaza printr-o declaratie de forma:
Tip Ident_tablou [n] =
unde m£n, iar daca n este omis, atunci n=m.
Exemple:
int X [13] = ;
int Y [ ] = ;
int A[3][ // ,,
Sirurile de caractere se initializeaza astfel:
char Ident_string [n] = 'Sir_caractere'
iar n poate fi este omis.
Exemple:
char Mesaj [100] = 'Zarurile vor fi aruncate
char Alt_Mesaj [] = ;
|