Constant (informàtica)

De la Viquipèdia, l'enciclopèdia lliure

En programació, una constant és un valor que no pot ser alterat durant l'execució d'un programa. Per conveniència, el nom de les constants se sol escriure en majúscules en la majoria de llenguatges. Una constant correspon a una longitud fixa d'una àrea reservada a la memòria principal de l'ordinador, on el programa emmagatzema valors fixos.[1][2] Per exemple:

  • El valor de pi = 3.1416

Exemple d'una constant en C (#define)[modifica]

En C les constants es declaren amb la directiva #define, això significa que aquesta constant tindrà el mateix valor al llarg de tot el programa. L'identificador d'una constant així definida, serà una cadena de caràcters que ha de complir els mateixos requisits que el d'una variable (sense espais en blanc, no començar per un dígit numèric, etc.).[3][4]

Exemple:

  1. Include <stdio.h>
  2. Define PI 3.1415926

int main () { printf ("Pi val% f", PI); return 0; }

La qual cosa mostrarà per pantalla:

Pi val 3.1415926

És a dir, Pi és una constant a la que li hem assignat el valor 3.1415926 mitjançant la directiva #define.

La directiva #define també es pot utilitzar per definir expressions més elaborades amb operadors (suma, resta, multiplicació, etc.) i altres constants que hagin estat definides prèviament. Per exemple:

  1. Define X 04/02
  2. Define I 09/02
  3. Define Z X+I

C++[modifica]

En C++ es desaconsella totalment l'ús de #define. Per declarar una constant simbòlica (equivalent a constant en C) s'usa la paraula clau const ,seguida del tipus de dada que vulguem incloure.

Vegeu també[modifica]

Referències[modifica]

  1. Booch, Grady. Software Engineering with Ada. Benjamin Cummings, 1983, p. 116–117. ISBN 0-8053-0600-5. 
  2. Microsoft Office XP Developer: Constant Names
  3. Ex. IBM Systems Information. Instruction Set - Assembler Language Reference for PowerPC.
  4. Schilling, Jonathan L. «Dynamically-Valued Constants: An Underused Language Feature». SIGPLAN Notices, vol. 30, 4, April 1995, pàg. 13–20. DOI: 10.1145/202176.202177.