Diferencia entre revisiones de «const»

De ArduWiki
Saltar a: navegación, buscar
(Comentarios)
(Referencias)
Línea 77: Línea 77:
 
* [https://aprendiendoarduino.wordpress.com/tag/constantes/ Variables en Arduino] - Enrique Crespo
 
* [https://aprendiendoarduino.wordpress.com/tag/constantes/ Variables en Arduino] - Enrique Crespo
  
[[Category:Estructura]]
+
[[Category:Variables]]

Revisión del 17:16 2 jun 2019

Descripción

Es un calificador de variable que hace que el valor asignado inicialmente no pueda ser cambiado tras la inicializacion. Se usa antes del tipo de datos de una variable, para modificar la manera en que el compilador y el boceto deben tratar dicha variable.

Las constantes son números que se usan directamente en un boceto, como 123 o 3.1416. De forma predeterminada, estos números se tratan como: int (contantes enteras) o float (constantes de coma flotante), pero puede cambiar esto con los modificadores de subfijo: U (unsigned) y L (long).

Nota: Una diferencia importante entre usar const o no es que al usarla la variable es almacenada en la memoria flash en lugar de la escasa SRAM.


Sintaxis

const tipo variable = valor;
const variable = Pvalor;

Parámetros

tipo
elegir el tipo de dato a almacenar: char, byte, int, long, float, etc.
Subfijos
Tipo Subfijo Ejemplo
int ninguno 123
unsigned int U 123U
long L 123L
unsigned long UL 123UL
float F 1.23F
Variable
nombre de variable a definir.
valor
valor a almacenar en el rango del tipo de dato.
Pvalor
valor a almacenar en el rango del tipo de dato con prefijo de formateo.
Prefijos
Base Prefijo Comentario Ejemplo
DEC ninguno Dígitos 0~9 123
HEX 0x dígitos 0~9 + Caracteres A~F 0x7B
OCT 0 digitos 0~7 0173
BIN B 0 o 1 B1110011

Comentarios

  • El IDE dara un error de compilación si se intenta asignar un nuevo valor a una variable const lo que protege al programador contra un posible error.
  • Todas las variables son almacenadas en SRAM salvo const que es almacenada en flash.

Advertencias

  • Debe preferir const en lugar de defined.

Ejemplos

const n = 33U      //unsigned int
const n = 9L       //long
const n = 32189UL  //unsigned long
const byte n = 123; 
const byte n = B1110011; 
const byte n = 0173; 
const byte n = 0x7B;

Vea también

Referencias