dual space
The dual space of V, written V*, is the set of all linear functionals on V. The surprise is that this set is itself a vector space: you can add two functionals, (f + g)(v) = f(v) + g(v), and scale a functional, (a*f)(v) = a*f(v). So 'the space of all measurements of V' is a genuine vector space sitting alongside V.
In finite dimensions V* has exactly the same dimension as V. If V has basis e_1, ..., e_n, then V* has the matching dual basis e_1*, ..., e_n*, so dim V* = dim V = n. Because the dimensions agree, V and V* are isomorphic — but only after you choose a basis. There is no preferred, basis-free way to turn a vector into a functional, which is why we say the isomorphism is not canonical.
This is the central subtlety of the whole subject. V and V* look alike (same dimension) yet are not naturally the same; an inner product is exactly the extra data that lets you identify them canonically, sending v to the functional <v, ->. Without that data, vectors and functionals are different species.
In infinite dimensions the gap is dramatic: V* can be strictly larger than V, and the algebraic dual may be much bigger than the continuous dual that analysts care about. Keeping V and V* separate in your head pays off the moment dimensions stop being finite.
Functionals on R^n are exactly the row vectors; the dual of a column space is a row space.
Slogan: V and V* are isomorphic but not naturally isomorphic. The isomorphism depends on a choice of basis (or an inner product); change the choice and the identification changes. The double dual, by contrast, IS canonical.