• Acasă
  • Despre noi
  • Autori
  • Mărturii
  • Arhivă
  • Trimite Articol
  • Contact

WORLDIT

Lumea în 1 și 0.

  • Știri
    • Tehnologie
    • Tehnologie mobilă
    • Securitate
    • Developers
    • Știință
    • Benzi desenate
    • Jocuri
    • Intern
  • Tehnic
    • Browser
    • C#
    • C/C++
    • Challenge
    • HTML/CSS
    • Javascript, Ajax, jQuery
    • Open Source
    • PHP
    • Python
    • Securitate IT
    • Socializare
    • WordPress
    • Altele
  • Recenzii
  • Interviuri
  • Evenimente

O privire atenta asupra variabilelor si constantelor

12
  • Publicat de Coss
  • în Fără categorie
  • — 17 aug., 2009 at 1:04 pm

In urmatorul articol voi prezenta cateva principii de baza in ceea ce priveste lucrul cu variabile si constante. Articolul este destinat incepatorilor si cuprinde exemple explicatii si fragmente sugestive de cod.

  • Ce sunt variabilele ?

O variabila este o locatie de memorie. Ea este caracterizata prin numele sau si prin valoarea atribuita. Oricarei variabile ii corespunde un tip de date, acestea fiind prezentate aici.

Ne vom ocupa mai mult de studiul variabilelor, decat de tipurile acestora. Ca punct de pornire avem declararea:

tip nume_variabila ;

Unde tip este tipul variabilei, iar nume_variabila este numele pe care dorim sa-l atribuim variabilei. Exemplu:

int n;

Astfel am declarat o variabila care se numeste n si este de tip integer.

Atat in limbajul de programare C++ , cat si in C, declararea unei variabile se termina cu ;  .

  • De cate feluri sunt variabilele ?

Variabilele pot fi de 2 feluri:

  • locale
  • globale

Variabilele locale: sunt cunoscute si pot fi accesate numai de functia in interiorul caruia au fost declarate. Variabilele locale dintr-o functie nu au nicio legatura cu variabilele locale din alta functie, ele sunt create numai cand respectiva functie este apelata. Variabilele locale nu-si mentin valorile intre 2 apelari ale aceleiasi functii.

Variabilele globale: sunt declarate in exteriorul oricarei functii. Spre deosebire de variabilele locale, ele sunt initializate automat cu valoarea 0. Sunt recunoscute de orice functie si pot si utilizate ca-atare. Ele exista pe tot timpul executie programului.

Exemple:

Declaratie variabile locale:

int functie1( int n)
{
int a,b,c;
...
}

Declaratie variabile globale :

void functie1 (void)
{
....
}

int n,i,j;

int main()
{
........
return 0;
}
  • Atribuirea valorilor

Atribuirea valorilor unor variabile se poate face direct la declarare, sau in interiorul unei functii.

Direct la declarare:

int main()
{
int a=0,b=8,c=4;  //a este 0, b este 8, c este 4
.....
return 0;
}

Sau in interiorul unei functii:

int main()
{
int n,i;
n=9;
i=1;
...
return 0;
}

Numai cele mai banale programe nu utilizeaza variabile, asa ca este bine sa invatati cum se folosesc acestea. Cateva sfaturi:

  • Obisnuiti-va sa initializati fiecare variabila, chiar si cu 0, daca nu declarati totul global.
  • Nu faceti confuzia intre semnele  = si == . = inseamna „ia valoarea” , iar == inseamna egal. Sunt operatori diferiti !
  • Eu declar de ceva timp totul global, este mai comod asa. 😀

Si acum sa ne uitam un pic peste constante …

  • Ce sunt constantele ?

Constantele sunt valori fixe pe care le utilizam in program. Ca si variabilele, constantele sunt de diferite feluri.

De exemplu, pentru a specifica o constanta de tip char, trebuie sa-i punem valoare intre  ‘   ‘ . Daca vrem ca A sa fie atribuita constantei char ch facem astfel:  ch=’A’.

Constantele in virgula mobila trebuie sa includa punctul zecimal. Daca o constanta float nu are cifre in dreapta punctului zecimal, trebuie pus 0.

n=100.0 ; //ceea ce inseamna ca n are valoarea 100

Atentie! Limbajul C++, dar si C sunt CASE-SENSITIVE, adica fac diferenta dintre majuscule si minuscule. Ceea ce inseamna ca variabila max nu este aceeasi cu Max sau MAX.

Keep it simple, and programming ahead. 😉

Daca acest articol contine o greseala, selecteaza cuvintele sau fraza gresita si tasteaza combinatia de taste Shift + Enter sau apasa click aici pentru a o raporta. Multumim!

— Albulescu Cosmina a scris 223 articole

Nu există o descriere a autorului.

  • Articolul anterior LHC reparat
  • Articolul următor Gmail trece pe locul 3 in topul celor mai vizitate servicii de e-mail

12 Comentarii

  1. Andrei Misarca spune:
    august 18, 2009 la 8:46 am

    Insa principala diferenta intre variabile si constante (dupa cum o zice si numele) este reprezentata de faptul ca variabilele isi pot schimba valoarea in timpul programului, in timp ce constantele nu. Iar pentru a „ajuta” compilatorul sa faca diferenta intre variabile si constante, la constante se pune si cuvantul „const” in fata. De exemplu: const int x = 4;
    In cazul asta, daca incercam sa schimbam valoarea lui x, compilatorul o sa faca urat 😀 Avantajul constantelor este ca lucrul cu ele dureaza mult mai putin, dar acestea nu se pot citi sau modifica 🙂

  2. Avadanei Andrei spune:
    august 18, 2009 la 11:11 am

    Din cate stiam compilatorul va modifica oriunde intalneste constanta cu valoarea ei.Asta este motivul pentru care viteza lor este mai mare.

  3. miculprogramator spune:
    august 18, 2009 la 11:37 am

    Asa stiam si eu, ca Andrew. 🙂

    Nu-i bine?

  4. Adrian spune:
    august 18, 2009 la 12:24 pm

    De fapt, compilatorul nu inlocuieste o constanta cu valoarea ei. O constanta, in C++, nu este un define.

  5. Andrei Misarca spune:
    august 18, 2009 la 4:01 pm

    Pana la urma cel mai rapid mod de a declara o constanta este prin define, efectul fiind acelasi ca in cazul declararii unor constante.

    „Eu declar de ceva timp totul global, este mai comod asa. :D”
    Mai comod da, dar mai sanatos nu. Cu cat ai mai multe variabile globale cu atat timpul de executie am programului creste mai mult. Explicatia e simpla; variabilele globale sunt retinute pana la terminarea programului, pe cand cele locale doar pana la terminarea functiei.

  6. Avadanei Andrei spune:
    august 18, 2009 la 4:06 pm

    Tin minte ca citisem o data un experiment pe infoarena,in care doar au schimbat tipul variabilelor(din globale in locale).Efectul a fost drastic,o imbunatatire aproape la jumatate a timpului. 😀

  7. Andrei Misarca spune:
    august 18, 2009 la 4:09 pm

    Exact, si de ex o variabila care se foloseste doar intr-o instructiune repetitiva sau un if, este mai bine sa fie declarata doar in cadrul acelei instructiuni (sunt multe chestii care desi par banale pot sa mareasca mult timpul de executie, motiv pentru care trebuiesc folosite corect inca de la inceput).

  8. Adrian spune:
    august 18, 2009 la 4:57 pm

    O variabile constanta este mult mai mult decat un define. Nu e doar un simplu substitut pentru un define.
    Calificativul const, in C++, este folosit pentru a oferi suport de const-corectness.
    Calificativul const nu se limiteaza doar la variabile constante. Poate fi, de exemplu, aplicat si functiilor membre intr-o clasa.
    Folosirea unei variabile constante prezinta avantajul faptului ca se asigura suport si pentru type-safety, fata de un define.

    Facilitatea de const-corectness in C++ are caracteristici logice. Asta inseamna ca compilatorul verifica doar faptul ca nu modifici variabila constanta in mod direct. Poti totusi sa o modifici indirect (de exemplu prin intermediul unui pointer), fara a obtine neaparat o eroare de compilare

    Variabilele globale ar trebui sa fie evitate pe cat posibil, din motive evidente.

  9. Leocrux spune:
    august 18, 2009 la 6:55 pm

    Din cate stiu eu e mai bine declararea variabilelor global. Cand declari o variabila in interiorul unei functii se creeaza o stiva pe memorie pt acea functie si dupa cum stim lucrul cu memoria e foarte incet 😐 si cred ca, cu cat e mai mica stiva, cu atat se creeaza/sterge mai repede
    I may be wrong:D

  10. Andrei Misarca spune:
    august 18, 2009 la 8:46 pm

    @Adrian: Foarte bun commentul si este de retinut ce se intampla cu const si define.

    @Leocrux: Din contra, lucrul cu varibilele alocate stiva este mult mai rapid decat lucrul cu variblele alocate pe heap (globale), capacitatea stivei este mult mai mica decat capacitatea heapului.

  11. Leocrux spune:
    august 18, 2009 la 11:09 pm

    I said I may be wrong. 🙂

  12. Avadanei Andrei spune:
    august 18, 2009 la 11:15 pm

    Nu e nici o problema,aici toti invatam! 😀

    Eu in general declar totul global, insa in cazul in care rezolvi o problema de informatica si ai solutia eficienta a problemei nu va trebui sa`ti faci griji de alocarea variabilelor(atentie : in cele mai multe cazuri), insa daca solutia ta trebuie „sa traga” de puncte(in fond pentru asta luptam) atunci optimizarile trebuie sa fie pana in cel mai mic detaliu. 😀


  • Facebook

    WorldIT.info
  • Ultimele Atacuri Cibernetice din Romania – RO Hacked

    • imacoolat-curat.ro
      | Published: februarie 3, 2020 - 2:00 am
    • hotel-palace.ro
      | Published: februarie 2, 2020 - 2:00 am
    • www.tahometru.ro
      | Published: februarie 1, 2020 - 2:00 am
    • alexisart.ro
      | Published: ianuarie 30, 2020 - 2:00 am
    • justshop.ro
      | Published: ianuarie 29, 2020 - 2:00 am
    RO Hacked este registrul atacurilor cibernetice din România.
  • Caută

  • Articole Recomandate

    • Recent Posts
    • Tags
    • Număr record de participanți la DefCamp 2015, cel mai important eveniment dedicat securității cibernetice din Europe Centrala si de Estdecembrie 2, 2015
    • La DefCamp 2015 vei afla prin ce tehnici pot fi evitate măsurile de securitate ale sistemelor informatice criticeoctombrie 16, 2015
    • Ultima sansa sa rezervi bilete de tip Early Bird la DefCamp 2015septembrie 1, 2015
    • 15 sfaturi despre cum poti deveni un programator bun venite de la specialisti romaniaugust 4, 2015
    • algoritmica Android antivirus Apple Avadanei Andrei benzi desenate BitDefender blog browser C++ Chrome concurs eveniment Facebook Firefox Google google chrome hacking html5 infografic informatica internet Internet Explorer IT javascript linux Microsoft Mozilla Firefox online PHP programare retea sociala review Romania securitate Tehnologie Twitter web Windows Windows 7 Wordpress WorldIT worldit.info Yahoo! YouTube
  • ianuarie 2021
    L Ma Mi J V S D
    « dec.    
     123
    45678910
    11121314151617
    18192021222324
    25262728293031
  • Link-uri Sponsorizate

    • laptop second hand

    • Calculatoare Second Hand

    • cod voucher pc garage

  • Home
  • O privire atenta asupra variabilelor si constantelor
  • Important

    • Bit Sentinel
    • Centrul de Cercetare în Securitate Informatică din România
    • DefCamp
  • Prieteni

    • BetiT.ro
    • bijuterii handmade
    • Computerica | Resurse gratuite PC
    • Descopera.org
    • Gadgeturi si IT – Giz.ro
  • Prieteni

    • PC – Config
    • RO Hacked
    • Stiri IT

Copyright © 2009-2014 WORLDIT. Toate drepturile Rezervate.
Termeni și condiții | Contact | Licența Creative Commons

Multumim foarte mult ca ne-ai raportat greseala! O vom remedia in cel mai scurt timp posibil.