Charles Tritt / Mbed 2 deprecated StructPlay

Dependencies:   mbed

Fork of ArraySizeof by Charles Tritt

Committer:
CSTritt
Date:
Mon Oct 23 02:29:40 2017 +0000
Revision:
1:987d0ca5cf9a
Parent:
0:8482415bf245
Child:
2:761d1c20f740
Initial version.

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 0:8482415bf245 5 Last revised: 10/22/17 (v. 1.0)
CSTritt 1:987d0ca5cf9a 6
CSTritt 1:987d0ca5cf9a 7
CSTritt 0:8482415bf245 8 */
CSTritt 0:8482415bf245 9 #include "mbed.h"
CSTritt 0:8482415bf245 10
CSTritt 0:8482415bf245 11 int main(void)
CSTritt 0:8482415bf245 12 {
CSTritt 1:987d0ca5cf9a 13 // Create a 2-D array.
CSTritt 1:987d0ca5cf9a 14 int myNum[3][4] = {
CSTritt 1:987d0ca5cf9a 15 { 10, 20, 30, 40 }, // Values for first row
CSTritt 1:987d0ca5cf9a 16 { 15, 25, 35, 45 }, // Values for second row
CSTritt 1:987d0ca5cf9a 17 { 47, 48, 49, 50 } // Values for third row
CSTritt 1:987d0ca5cf9a 18 };
CSTritt 1:987d0ca5cf9a 19
CSTritt 1:987d0ca5cf9a 20 printf("\n\nArray output...\n\n");
CSTritt 1:987d0ca5cf9a 21 // Known sizes.
CSTritt 1:987d0ca5cf9a 22 for (int r = 0; r < 3; r++) {
CSTritt 1:987d0ca5cf9a 23 for (int c = 0; c < 4; c++) {
CSTritt 1:987d0ca5cf9a 24 printf("%d ", myNum[r][c]);
CSTritt 1:987d0ca5cf9a 25 }
CSTritt 1:987d0ca5cf9a 26 printf("\n");
CSTritt 1:987d0ca5cf9a 27 }
CSTritt 1:987d0ca5cf9a 28
CSTritt 1:987d0ca5cf9a 29 // For mbed/Nucleo boards, the final \n is generally required to see output.
CSTritt 1:987d0ca5cf9a 30 printf("\nSize of myNum = %u.\n", sizeof(myNum)); // Total size.
CSTritt 1:987d0ca5cf9a 31 printf("Size of myNum[0] = %u.\n", sizeof(myNum[0])); // Row size.
CSTritt 1:987d0ca5cf9a 32 printf("Size of myNum[0][0] = %u.\n\n", sizeof(myNum[0][0])); // Item size.
CSTritt 1:987d0ca5cf9a 33
CSTritt 1:987d0ca5cf9a 34 // Calculated sizes.
CSTritt 1:987d0ca5cf9a 35 for (int r = 0; r < sizeof(myNum)/sizeof(myNum[0]); r++) {
CSTritt 1:987d0ca5cf9a 36 for (int c = 0; c < sizeof(myNum[0])/sizeof(myNum[0][0]); c++) {
CSTritt 1:987d0ca5cf9a 37 printf("%d ", myNum[r][c]);
CSTritt 1:987d0ca5cf9a 38 }
CSTritt 1:987d0ca5cf9a 39 printf("\n");
CSTritt 1:987d0ca5cf9a 40 }
CSTritt 1:987d0ca5cf9a 41
CSTritt 1:987d0ca5cf9a 42 while (true) {} // Loop forever when done.
CSTritt 0:8482415bf245 43 }