void Test2DArray1(void)
{
double points[3][4] = { {1.0, 2.0, 3.0, 4.0},
{5.0, 6.0, 7.0, 8.0},
{9.0, 10.0, 11.0, 12.0}};
printf("points = %p\n", points); // address of entire array
printf("&points[0] = %p\n", points[0]); // address of first row
printf(*points = %p\n", *points); // same as above
printf("&points[0][0] = %p\n", &points[0][0]); // address of first double
printf("\n");
printf("**points = %f\n", **points); // first double
printf("*points[0] = %f\n", *points[0]); // first double
printf("points[0][0]=%f\n", points[0][0]); // first double
printf("\n");
printf("sizeof(points) = %i\n", sizeof(points)); // sizeof entire array
printf("sizeof(*points) = %i\n", sizeof(*points)); // sizeof of first row
printf("sizeof(**points) = %i\n", sizeof(**points)); // sizeof first element
printf("sizeof(points[0]) = %i\n", sizeof(points[0])); // sizeof first row
printf("sizeof(points[0][0])=%i\n", sizeof(points[0][0])); // sizeof first element
}