Diferencia entre revisiones de «const»

De ArduWiki
Saltar a: navegación, buscar
(Vea también)
(Ejemplos)
 
(No se muestran 22 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
== Descripción ==
 
== Descripción ==
Es un modificador del tipo de variable. Las constantes enteras son números que se usan directamente en un boceto, como 123. De forma predeterminada, estos números se tratan como [[byte]] o [[int]], pero puede cambiar esto con los modificadores U (unsigned) y L (long).
+
Palabra clave conocida como '''calificadora'''. 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.
  
{{Nota|na 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]].}}
+
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 incluyendo en '''tipo''' o un  subfijo modificador: U (unsigned), L (long) o F (float).
 +
 
 +
{{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 ==
 
== Sintaxis ==
 
<pre>
 
<pre>
const tipo variable = valor;
+
const [tipo] variable = valor;
const variable = Pvalor;
 
 
</pre>
 
</pre>
  
 
== Parámetros ==
 
== Parámetros ==
;tipo: elegir el tipo de dato a almacenar: [[char]], [[byte]], [[int]], [[long]], [[float]], etc.
+
;tipo: elegir el tipo de dato a almacenar: [[char]], [[byte]], [[int]], [[long]], [[float]], etc de manera explicita o si prefiere puede añadir un subfijo al valor:
;Variable: nombre de variable a definir.
+
 
 
{| class="wikitable col2cen"
 
{| class="wikitable col2cen"
|+Posibles formateadores
+
|+Subfijos
 
!Tipo!!Subfijo!!Ejemplo
 
!Tipo!!Subfijo!!Ejemplo
 
|-
 
|-
Línea 28: Línea 29:
 
|}
 
|}
  
;variable: nombre de la variable
+
;Variable: nombre de variable a definir.
;valor: valor a almacenar en el rango del tipo de dato.
+
;valor: valor a almacenar en el rango del tipo de dato. Puede usar un prefijo para indicar la '''base''' en que esta expresado valor.
;Pvalor: valor a almacenar en el rango del tipo de dato con prefijo de formateo.
 
  
 
{| class="wikitable col2cen"
 
{| class="wikitable col2cen"
|+Posibles formateadores
+
|+Prefijos
 
!Base!!Prefijo!!Comentario!!Ejemplo
 
!Base!!Prefijo!!Comentario!!Ejemplo
 
|-
 
|-
Línea 44: Línea 44:
 
|BIN||B||0 o 1||B1110011
 
|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 ==
 
== Advertencias ==
* Debe preferir '''const''' en lugar de [[defined]].
+
* Debe preferir '''const''' en lugar de [[define]].
  
 
== Ejemplos ==
 
== Ejemplos ==
 
<syntaxhighlight lang="c++">
 
<syntaxhighlight lang="c++">
const n = 33U      //unsigned int
+
const n = 123;      //int
const n = 9L      //long
+
const n = 33U;     //unsigned int
const n = 32189UL  //unsigned long
+
const n = 9L;       //long
 +
const n = 32189UL; //unsigned long
 +
const n = 3.14F;    //float
 
const byte n = 123;  
 
const byte n = 123;  
const byte n = B1110011;  
+
const byte n = B1110011; //binario
const byte n = 0173;  
+
const byte n = 0173;     //Octal
const byte n = 0x7B;  
+
const byte n = 0x7B;     //Hexadecimal
 
</syntaxhighlight>
 
</syntaxhighlight>
  
 
== Vea también ==
 
== Vea también ==
 +
* [[Palabras reservadas]]
 +
* [[variable publica]]
 +
* [[variable local]]
 
* [[static]]
 
* [[static]]
 
* [[volatile]]
 
* [[volatile]]
* [[defined]] - no usar
+
* [[extern]]
 +
* [[define|#define]]
 +
* [[matriz]]
 
* [[Comentarios]] - <nowiki>(//)</nowiki>
 
* [[Comentarios]] - <nowiki>(//)</nowiki>
  
 
== Referencias ==
 
== Referencias ==
* [https://www.arduino.cc/reference/es/language/functions/time/millis/ Guia de referencia de Arduino]
+
* [https://www.prometec.net/intro-programacion/ Introduccion a la programacion en Arduino] - Prometec
 +
* [http://www.electrogeekshop.com/diferencia-entre-define-y-const-en-arduino/ Diferencia entre define y const en Arduino] - ElectroGeek
 +
* [https://aprendiendoarduino.wordpress.com/tag/constantes/ Variables en Arduino] - Enrique Crespo
  
 
[[Category:Variables]]
 
[[Category:Variables]]

Revisión actual del 01:26 2 feb 2020

Descripción

Palabra clave conocida como calificadora. 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 incluyendo en tipo o un subfijo modificador: U (unsigned), L (long) o F (float).

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;

Parámetros

tipo
elegir el tipo de dato a almacenar: char, byte, int, long, float, etc de manera explicita o si prefiere puede añadir un subfijo al valor:
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. Puede usar un prefijo para indicar la base en que esta expresado valor.
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 define.

Ejemplos

const n = 123;      //int
const n = 33U;      //unsigned int
const n = 9L;       //long
const n = 32189UL;  //unsigned long
const n = 3.14F;    //float
const byte n = 123; 
const byte n = B1110011; //binario
const byte n = 0173;     //Octal
const byte n = 0x7B;     //Hexadecimal

Vea también

Referencias