A colleague of mine asked this question: Array size in multidimensional array with pointers
The answers are all pretty definitive in that you cannot work out the size of an array that is referenced by a pointer.
My initial thought was to first dereference the pointer and then calculate the size of the array itself. Why would this not work? Does dereferencing the pointer not give you the full array?