Diferencia entre revisiones de «static»
De ArduWiki
(→Sintaxis) |
|||
Línea 8: | Línea 8: | ||
static tipo variable [= valor]; | static tipo variable [= valor]; | ||
</pre> | </pre> | ||
+ | |||
+ | == Parámetros == | ||
+ | ;tipo: tipo de dato. Puede ser [[char]], [[byte]]; [[int]], [[long]], [[float]], etc | ||
+ | ;variable: nombre de la variable a declarar | ||
+ | ;valor: Valor acorde con el tipo elegido. | ||
+ | |||
+ | == Retorno == | ||
+ | Nada. | ||
== Advertencias == | == Advertencias == | ||
Línea 14: | Línea 22: | ||
== Ejemplo == | == Ejemplo == | ||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
− | const byte alto 20 | + | const byte alto = 20; |
− | const byte bajo -20 | + | const byte bajo = -20; |
const byte paso = 5; //Tamaño de paso | const byte paso = 5; //Tamaño de paso | ||
Línea 29: | Línea 37: | ||
int camino(byte mover){ | int camino(byte mover){ | ||
− | posicion = | + | posicion += random(-mover, mover + 1); |
if (posicion < bajo){ //Comprueba los límites alto y bajo | if (posicion < bajo){ //Comprueba los límites alto y bajo | ||
posicion = alto; //Refleja el número de vuelta en dirección negativa | posicion = alto; //Refleja el número de vuelta en dirección negativa | ||
Línea 42: | Línea 50: | ||
* [[volatile]] | * [[volatile]] | ||
* [[const]] | * [[const]] | ||
+ | |||
+ | == Referencias == | ||
+ | * [https://www.arduino.cc/reference/en/language/variables/variable-scope--qualifiers/static/ Guia de referencia]] | ||
[[Category:Variables]] | [[Category:Variables]] |
Revisión del 21:25 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
- tipo de dato. Puede ser char, byte; int, long, float, etc
- variable
- nombre de la variable a declarar
- valor
- Valor acorde con el tipo elegido.
Retorno
Nada.
Advertencias
Nada.
Ejemplo
const byte alto = 20;
const byte bajo = -20;
const byte paso = 5; //Tamaño de paso
void setup(){
Serial.begin(115200);
}
void loop(){
static int posicion;
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;
}