dual space
The dual space is the collection of all the linear 'measurements' you can perform on a vector space — each one a rule that eats a vector and outputs a single scalar in a linear way. If vectors are arrows, dual vectors are the gauges and rulers that read off numbers from them; together they form a space of their own that mirrors the original.
For a vector space V over a field K, the dual space is V* = Hom_K(V, K), the set of all K-linear maps (linear functionals) V -> K. It is itself a vector space under pointwise addition and scaling. When dim V = n is finite, dim V* = n as well, so V and V* are isomorphic — but not canonically: the isomorphism depends on a choice of basis, via the dual basis.
There is, however, a canonical injection V -> (V*)* into the double dual, sending v to evaluation-at-v; in finite dimensions it is an isomorphism, so V ≅ (V*)* naturally. Dual spaces are the source of covectors (lower indices) in tensor analysis: a general tensor lives in a tensor product of copies of V and copies of V*, and contraction pairs a V-slot with a V*-slot.
On V = R^2, the coordinate functionals e_1*(x, y) = x and e_2*(x, y) = y form a basis of V*. Any functional is a x + b y for some a, b, e.g. the map (x, y) ↦ 3x − y is 3 e_1* − e_2*.
Coordinate-reading functionals form the dual basis of V*.
In infinite dimensions the natural map V -> (V*)* is injective but generally not surjective, so V is not isomorphic to its double dual. Reflexive spaces are precisely those where it is an isomorphism — a genuinely subtler situation than the finite-dimensional case.