So far, we’ve declared variables inside a function block (inside the function’s curly braces), which means they are local variables. Only the function declaring a local variable can see or modify it. Also, a local variable only exists while the function that declares it is using it. After that, it gets returned to unallocated memory so that another function (like loop) could use that memory for a different local variable.
If your sketch has to give more than one function access to a variable’s value, you can use global variables. To make a variable global, just declare it outside of any function, preferably before the setup function. Then, all functions in the sketch will be able to modify or retrieve its value. The next example sketch declares global variables and assigns values to them from within a function.
This example sketch declares a, c, and root2 as global variables (instead of local). Now that they are global, both the setup and loop functions can access them.
// Robotics with the BOE Shield - StoreRetrieveGlobal int a; char c; float root2; void setup() { Serial.begin(9600); a = 42; c = 'm'; root2 = sqrt(2.0); } void loop() { Serial.println(a); Serial.println(c); Serial.println(root2); delay(1000); }
There are lots more data types than just int, char, float, and byte.