Demonstrate basic pointer use.

Dependencies:   mbed

Committer:
CSTritt
Date:
Fri Nov 03 02:19:44 2017 +0000
Revision:
0:f4431aea05f2
Child:
1:66b36106613a
Initial version.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CSTritt 0:f4431aea05f2 1 /*
CSTritt 0:f4431aea05f2 2 Project: PointerPlay
CSTritt 0:f4431aea05f2 3 File: main.cpp
CSTritt 0:f4431aea05f2 4
CSTritt 0:f4431aea05f2 5 Demonstrates some uses of pointers.
CSTritt 0:f4431aea05f2 6
CSTritt 0:f4431aea05f2 7 Written by: Dr. C. S. Tritt
CSTritt 0:f4431aea05f2 8 Created: 9/24/17 (v. 1.0)
CSTritt 0:f4431aea05f2 9
CSTritt 0:f4431aea05f2 10 */
CSTritt 0:f4431aea05f2 11 #include "mbed.h"
CSTritt 0:f4431aea05f2 12
CSTritt 0:f4431aea05f2 13 int main() {
CSTritt 0:f4431aea05f2 14 printf("\nPointer Play -- \"a is a.\"\n");
CSTritt 0:f4431aea05f2 15 // Each set of lines below create a variable and a pointter to it.
CSTritt 0:f4431aea05f2 16 float myNum1 = 1.23f; // Initialize the variable.
CSTritt 0:f4431aea05f2 17 float* pNum1 = &myNum1; // Initialize the pointer to point to it.
CSTritt 0:f4431aea05f2 18 printf("myNum1 is %f and *pNum1 is %f.\n", myNum1, *pNum1);
CSTritt 0:f4431aea05f2 19 int myNum2; // Create a variable.
CSTritt 0:f4431aea05f2 20 int* pNum2 = NULL; // Create a NULL (unassigned) pointer.
CSTritt 0:f4431aea05f2 21 pNum2 = &myNum2; // Put the address in the pointer.
CSTritt 0:f4431aea05f2 22 *pNum2 = 15; // Dereference the pointer to store a value.
CSTritt 0:f4431aea05f2 23 printf("myNum2 is %d and *pNum2 is %d.\n", myNum2, *pNum2);
CSTritt 0:f4431aea05f2 24 // Examine the addresses (pointer values).
CSTritt 0:f4431aea05f2 25 printf("pNum1 is %p and pNum2 is %p.\n", pNum1, pNum2);
CSTritt 0:f4431aea05f2 26 while(true); // Wait here forever.
CSTritt 0:f4431aea05f2 27 }