I put in varname to make it easier to read. It is still the same protoype function. Basically it says the argument should be a variable that is an array of length size and the elements inside the array is of type T.
But I am still a bit confused why need the const keyword. I would presume it says inside the function sizeof_array, the variable varname cannot be made to point to other memory location ?