If A is a closed linear subspace of a vector space X (which may not be Hilbert) is it true that $A^{\perp} = 0 \Leftrightarrow A = X$? If A is a closed linear subspace of a vector space X (which may not be Hilbert) is it true that $A^{\perp} = 0 \Leftrightarrow A = X$?
$A^{\perp} = \{x \in X|\langle x,a\rangle=0, \forall a \in A\}$. Obviously, we have if $A = X$, then $A^{\perp} = 0$. Is the other direction (i.e. $A^{\perp} = 0 \Rightarrow A = X$) right?
 (Notice that $X$ may not be a Hilbert space.)
If it is not right, could you please provide a counterexample?

If $X$ is a normed space, and $A^{\perp}$ is understood to be a subspace of the dual space $X^*$ (i.e., continuous linear functionals on $X$), then the only closed subspace $A$ such that $A^{\perp}=0$ is the entire space $X$, because of the following general result:

Let $X$ be a normed space and $Y$ a subspace of $X$. A vector $x$ belongs to the closure of $Y$ if and only if
  every bounded functional that vanishes on $Y$, also vanishes at $x$. 

