aboutsummaryrefslogtreecommitdiffstats
path: root/docs/source/lang/cpp/pointer.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/source/lang/cpp/pointer.rst')
-rw-r--r--docs/source/lang/cpp/pointer.rst31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/source/lang/cpp/pointer.rst b/docs/source/lang/cpp/pointer.rst
new file mode 100644
index 0000000..ff4ec32
--- /dev/null
+++ b/docs/source/lang/cpp/pointer.rst
@@ -0,0 +1,31 @@
+.. _lang-pointer:
+
+Pointer Operators (``&``, ``*``)
+================================
+
+The pointer operators ``&`` (reference) and ``*`` (dereference) are
+different from the bitwise math operator :ref:`&
+<lang-bitwisemath-and>` and the arithmetic operator :ref:`*
+<lang-arithmetic>`.
+
+Pointers are one of the more complicated subjects for beginners in
+learning C, and it is possible to write many useful Arduino sketches
+without ever encountering pointers. However, for manipulating certain
+data structures, the use of pointers can simplify the code, improve
+its efficiency, and generally provide many benefits that would be
+difficult to achieve without the use of pointers.
+
+Introducing pointers is somewhat outside the scope of this
+documentation. However, a good `pointer tutorial
+<http://www.cplusplus.com/doc/tutorial/pointers/>`_ is available.
+Also see the `Wikipedia article on pointers
+<http://en.wikipedia.org/wiki/Pointer_%28computing%29>`_, especially
+the section on `pointers in C
+<http://en.wikipedia.org/wiki/Pointer_%28computing%29#C_pointers>`_.
+
+See Also
+--------
+
+- http://xkcd.com/138/
+
+.. include:: /arduino-cc-attribution.txt