diff options
author | Marti Bolivar <mbolivar@mit.edu> | 2010-10-20 06:46:52 -0400 |
---|---|---|
committer | Marti Bolivar <mbolivar@mit.edu> | 2010-10-20 06:46:52 -0400 |
commit | 22ff1db8a76c7047b61a424ae1fa5f43697fcb34 (patch) | |
tree | bf722c8a5a6bd40e0b33fc4a425e0e5b8b9f4216 /docs/source/arduino/const.rst | |
parent | bac6548fe90b0721e191d68df2677beb4b15f60a (diff) | |
download | librambutan-22ff1db8a76c7047b61a424ae1fa5f43697fcb34.tar.gz librambutan-22ff1db8a76c7047b61a424ae1fa5f43697fcb34.zip |
initial check-in of arduino docs in RST format (converted using wget+pandoc)
Diffstat (limited to 'docs/source/arduino/const.rst')
-rw-r--r-- | docs/source/arduino/const.rst | 55 |
1 files changed, 55 insertions, 0 deletions
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 <http://arduino.cc/en/Reference/Scope>`_* 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 <http://arduino.cc/en/Reference/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 <http://arduino.cc/en/Reference/Array>`_, you will need to +use **const**. In general *const* is preferred over *#define* for +defining constants. + + + +See also: + + +- `#define <http://arduino.cc/en/Reference/Define>`_ +- `volatile <http://arduino.cc/en/Reference/Volatile>`_ + |