Diferența dintre o constantă și o variabilă în programare

Nu toate limbile au o mare diferență.

Mandatarul (cum ar fi C ++, Pascal, Java) constantă este diferită în faptul că valoarea sa nu poate fi modificată, spre deosebire de variabila (a cărei valoare se poate schimba la fel de mult cum doriți).







Constantele sunt adesea argumentele funcțiilor, astfel încât programatorul să nu poată schimba în mod accidental valoarea în funcție. De exemplu (pseudocod, foarte dur, nu chiar corect, dar esența reflectă):

Eroarea poate fi mai mult acoperită. De exemplu, în loc să alocați în mod explicit, ați putea apela foo (str), unde foo este o funcție care ar schimba șirul. Astfel de erori pot apărea și sunt greu de găsit.

Prin urmare, se folosesc constantele:

Dar este vorba despre limbi imperative, dar problema programării în general și limbile sunt și altele. În limbile funcționale (cum ar fi Lisp, Haskell, Erlang, de închidere, și chiar un milion, de exemplu, acum am scrie în nip2 limba) și logic (SWI Prolog, Visual Prolog, Arity Prolog, si chiar un milion de Prologurile) valoare variabilă poate fi doar un singur atribuit timp. După atribuire, devine o constantă. Și dacă valoarea variabilei este deja atribuită, atunci ea nu poate fi modificată. limbi funcționale atunci când erorile de re-atribuire este aruncat și logica poate arunca fie de eroare și de a efectua o comparație de vechi cu noua valoare (limba-dependentă).







despre nip2 (Mi-a plăcut cu adevărat limba convenabilă pentru procesarea imaginilor)

Diferența este următoarea. Valoarea variabilei poate fi modificată la timpul de execuție (de exemplu, pentru a efectua o operație de creșteri sau de decremente, pentru a înregistra o anumită valoare). Valoarea constantei poate fi citita, nu poate fi schimbata in timpul executarii programului, insa puteti sa o modificati in codul sursa, inainte de compilare.

pentru (i = 0; i<100;i++) t+=(i*j);

în acest exemplu, există două variabile i și t și o constantă j. Variabila i este numită contor, iar variabila t este acumulatorul (desigur, numai în acest exemplu). După cum se vede din pseudocod, o buclă de trepte contra câte unul, și adăugarea la acumulatorul (t) la fiecare valoare iterație contor înmulțită cu j constantă.

Constanta este o valoare predefinita si neschimbata. Variabilă dimpotrivă, inițial poate și nu contează, dobândind-o în procesul programului.

Deci, în exemplele de mai sus, a fost luat în considerare codul din C ++, dar voi da un exemplu de definire a constantei și a variabilei Java (deși diferențele nu sunt prea mari):

Există o întrebare interesantă? Întrebați-o comunității noastre, probabil că vom găsi răspunsul!

Împărtășește experiență și cunoștințe, câștigă recompense și reputație, face noi prieteni interesați!

Adresați întrebări interesante, dați răspunsuri de calitate și câștigați bani. Mai multe ..

Statistici lunare de proiecte

Cel mai nou utilizator: 7548

Întrebări create: 35434

Răspunsuri scrise: 112413

Puncte de reputație acumulate: 1405279

Conectarea la server.







Articole similare

Trimiteți-le prietenilor: