From 22ff1db8a76c7047b61a424ae1fa5f43697fcb34 Mon Sep 17 00:00:00 2001 From: Marti Bolivar Date: Wed, 20 Oct 2010 06:46:52 -0400 Subject: initial check-in of arduino docs in RST format (converted using wget+pandoc) --- docs/source/arduino/const.rst | 55 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 docs/source/arduino/const.rst (limited to 'docs/source/arduino/const.rst') diff --git a/docs/source/arduino/const.rst b/docs/source/arduino/const.rst new file mode 100644 index 0000000..295b817 --- /dev/null +++ b/docs/source/arduino/const.rst @@ -0,0 +1,55 @@ +.. _arduino-const: + +const keyword +============= + +The **const** keyword stands for constant. It is a variable +*qualifier* that modifies the behavior of the variable, making a +variable "*read-only*". This means that the variable can be used +just as any other variable of its type, but its value cannot be +changed. You will get a compiler error if you try to assign a value +to a **const** variable. + + + +Constants defined with the *const* keyword obey the rules of +*`variable scoping `_* that +govern other variables. This, and the pitfalls of using*#define*, +makes the *const* keyword a superior method for defining constants +and is preferred over using +*`#define `_*. + + + +Example +------- + +:: + + const float pi = 3.14; + float x; + + // .... + + x = pi * 2; // it's fine to use const's in math + + pi = 7; // illegal - you can't write to (modify) a constant + + +**#define** or **const** +------------------------ + +You can use either **const** or **#define** for creating numeric or +string constants. For +`arrays `_, you will need to +use **const**. In general *const* is preferred over *#define* for +defining constants. + + + +See also: + + +- `#define `_ +- `volatile `_ + -- cgit v1.2.3