Assume $A_{n\times m}\in M^{\mathbb{F}}_{n\times m}$ and that $R_{n\times m}$ is it's reduced row echelon form. By theorem we know that $rank(A)$ corresponds to the number of rows with pivots and those rows form a basis for the row space. We also know that the number of free variables is $k=m-rank(A)$.
By writing $Rx=0$ as a system of homogeneous linear equations we can solve for each of the pivots and obtain a basis for the null space of $R$, by theorem. We know by theorem that $Ax=0$ and $Rx=0$ have the same solution / null space.
If $k=0$ then there is only the trivial solution and all the columns of $A$ are linearly independent and form a basis for $C(A)$. If $k > 0$ then there are $k$ free variables corresponding to the columns of $R$, and thus $A$, without pivots ( since we only performed row operations to obtain $R$ from $A$ ).
Assume that we've chosen a solution, $x$, from the solution space such that each of the free variables is set to 1. Then by theorem we can write $Ax=0$ as a linear combination of columns such that the coefficient of each column corresponding to a free variable equals 1. It is then trivial to solve the equation for each of the these columns and show that it is a linear combination of the remaining $n-1$ columns. Thus, we have $k$ linearly dependant columns of $A$ corresponding to the columns of $R$ which contained the free variables. Thus, since by theorem $dimC(A)=rankA$ the remaining $rank(A)$ columns must form a basis for $C(A)$ and these columns must correspond to the columns of $R$ containing pivots.