Charles Tritt / Mbed 2 deprecated StructPlay

Dependencies:   mbed

Fork of ArraySizeof by Charles Tritt

Committer:
CSTritt
Date:
Mon Oct 23 12:31:42 2017 +0000
Revision:
2:761d1c20f740
Parent:
1:987d0ca5cf9a
Child:
3:45a53383e09f
Reordered and reworded sizeof output.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
CSTritt 0:8482415bf245 1 /*
CSTritt 1:987d0ca5cf9a 2 Project: ArraySizeof
CSTritt 0:8482415bf245 3 File: main.cpp
CSTritt 0:8482415bf245 4 Ported to mbed/Nucleo by: Dr. C. S. Tritt
CSTritt 2:761d1c20f740 5 Last revised: 10/22/17 (v. 1.1)
CSTritt 1:987d0ca5cf9a 6
CSTritt 2:761d1c20f740 7 Demonstrates array output.
CSTritt 1:987d0ca5cf9a 8
CSTritt 0:8482415bf245 9 */
CSTritt 0:8482415bf245 10 #include "mbed.h"
CSTritt 0:8482415bf245 11
CSTritt 0:8482415bf245 12 int main(void)
CSTritt 0:8482415bf245 13 {
CSTritt 1:987d0ca5cf9a 14 // Create a 2-D array.
CSTritt 1:987d0ca5cf9a 15 int myNum[3][4] = {
CSTritt 1:987d0ca5cf9a 16 { 10, 20, 30, 40 }, // Values for first row
CSTritt 1:987d0ca5cf9a 17 { 15, 25, 35, 45 }, // Values for second row
CSTritt 1:987d0ca5cf9a 18 { 47, 48, 49, 50 } // Values for third row
CSTritt 1:987d0ca5cf9a 19 };
CSTritt 1:987d0ca5cf9a 20
CSTritt 1:987d0ca5cf9a 21 printf("\n\nArray output...\n\n");
CSTritt 1:987d0ca5cf9a 22 // Known sizes.
CSTritt 1:987d0ca5cf9a 23 for (int r = 0; r < 3; r++) {
CSTritt 1:987d0ca5cf9a 24 for (int c = 0; c < 4; c++) {
CSTritt 1:987d0ca5cf9a 25 printf("%d ", myNum[r][c]);
CSTritt 1:987d0ca5cf9a 26 }
CSTritt 1:987d0ca5cf9a 27 printf("\n");
CSTritt 1:987d0ca5cf9a 28 }
CSTritt 1:987d0ca5cf9a 29
CSTritt 1:987d0ca5cf9a 30 // For mbed/Nucleo boards, the final \n is generally required to see output.
CSTritt 2:761d1c20f740 31 printf("\nElement size (sizeof(myNum[0][0]): %u.\n", sizeof(myNum[0][0]));
CSTritt 2:761d1c20f740 32 printf("Row size (sizeof(myNum[0]): %u.\n", sizeof(myNum[0])); // Row size.
CSTritt 2:761d1c20f740 33 printf("Array size (sizeof(myNum): %u.\n\n", sizeof(myNum)); // Total size.
CSTritt 1:987d0ca5cf9a 34
CSTritt 2:761d1c20f740 35 // Output using calculated sizes.
CSTritt 1:987d0ca5cf9a 36 for (int r = 0; r < sizeof(myNum)/sizeof(myNum[0]); r++) {
CSTritt 1:987d0ca5cf9a 37 for (int c = 0; c < sizeof(myNum[0])/sizeof(myNum[0][0]); c++) {
CSTritt 1:987d0ca5cf9a 38 printf("%d ", myNum[r][c]);
CSTritt 1:987d0ca5cf9a 39 }
CSTritt 1:987d0ca5cf9a 40 printf("\n");
CSTritt 1:987d0ca5cf9a 41 }
CSTritt 1:987d0ca5cf9a 42
CSTritt 1:987d0ca5cf9a 43 while (true) {} // Loop forever when done.
CSTritt 0:8482415bf245 44 }