Say I have some array ar, I know sizeof(ar); will return the total length of the array in bytes (size of data value type * the total number of array spaces).
If the array name ar is converted to a base pointer address and subscripts are converted to an integer offset by the C compiler, where is the size of the array stored in memory?
Or is it similar to a string where there is some special value that denotes the termination of the array?
Maybe I'm misunderstanding how arrays work in C but I can't work out how the sizeof() function would obtain the size of an array.
Any information would be much appreciated, thanks!