Diferencia entre revisiones de «static»
De ArduWiki
(→Ejemplo) |
(→Parámetros) |
||
Línea 11: | Línea 11: | ||
== Parámetros == | == Parámetros == | ||
;tipo: tipo de dato. Puede ser [[char]], [[byte]]; [[int]], [[long]], [[float]], etc | ;tipo: tipo de dato. Puede ser [[char]], [[byte]]; [[int]], [[long]], [[float]], etc | ||
− | ;variable: nombre de la variable a declarar | + | {| class="wikitable col2cen" |
− | ;valor: | + | |+Posibles formateadores |
+ | !Tipo!!Subfijo!!Ejemplo | ||
+ | |- | ||
+ | |[[int]]||ninguno||123 | ||
+ | |- | ||
+ | |[[unsigned int]]||U||123U | ||
+ | |- | ||
+ | |[[long]]||L||123L | ||
+ | |- | ||
+ | |[[unsigned long]]||UL||123UL | ||
+ | |- | ||
+ | |[[float]]||F||1.23F | ||
+ | |} | ||
+ | |||
+ | ;variable: nombre de la variable a declarar. | ||
+ | ;valor: valor a almacenar en el rango del tipo de dato. | ||
+ | |||
+ | {| class="wikitable col2cen" | ||
+ | |+Posibles formateadores | ||
+ | !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 | ||
+ | |} | ||
== Retorno == | == Retorno == |
Revisión del 21:38 17 jul 2018
Contenido
Descripción
La palabra clave static se usa para crear variables que solo son visibles dentro de una función. Sin embargo a diferencia de las variables locales que se crean y destruyen cada vez que se invoca una función, las variables estatic persisten más allá de la llamada a la función, preservan sus datos entre llamadas a funciones.
{Norta|Las variables declaradas como static sólo se crean e inicializan la primera vez que una función se llama.}}
Sintaxis
static tipo variable [= valor];
Parámetros
Tipo | Subfijo | Ejemplo |
---|---|---|
int | ninguno | 123 |
unsigned int | U | 123U |
long | L | 123L |
unsigned long | UL | 123UL |
float | F | 1.23F |
- variable
- nombre de la variable a declarar.
- valor
- valor a almacenar en el rango del tipo de dato.
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 |
Retorno
Nada.
Advertencias
Nada.
Ejemplo
const byte alto = 20;
const char bajo = -20;
const byte paso = 5; //Tamaño de paso
void setup(){
Serial.begin(115200);
}
void loop(){
static int posicion;
int hoy = camino(paso);
Serial.println(hoy);
delay(10);
}
int camino(byte mover){
posicion += random(-mover, mover + 1);
if (posicion < bajo){ //Comprueba los límites alto y bajo
posicion = alto; //Refleja el número de vuelta en dirección negativa
}else if(posicion > alto){
posicion = bajo; //Refleja el número de vuelta en dirección positiva
}
return posicion;
}