It dawned on me that including some outputs may be of use.

Output from test block 1)

Array size in bytes = 4
Array element size in bytes = 4
Array length = 1

So I get that the issue with arrays is they degrade to pointers at the time of creation. But, according to C rules, sizeof(array) should get the size of the array that the array variable now points to (in bytes). That doesn't seem to be the case in lite-c and it just returns the size of the pointer.

Output from test block 2)

Memory before malloc is 4059136
Memory after malloc is 7479296
Memory after free is 4059136
Array size in bytes = 3420160
Array element size in bytes = 4
Array length = 855040

In this block I tried using the 'malloc/free' trick that is referred to in the Variables section of the manual. However I cannot find reference to what that actual method is and improvised. You can see that there is space allocated for the array but it is way too much. I have a feeling that my typecasting or how I'm passing the pointer around that is causing the problem however pointers and memory functions are completely foreign to me smirk

Cheers,
BobbyT