This is an elementary question, but a little subtle so I hope it is suitable for MO.

Let $T$ be an $n \times n$ square matrix over $\mathbb{C}$.

The characteristic polynomial $T - \lambda I$ splits into linear factors like $T - \lambda_iI$, and we have the Jordan canonical form:

$$ J = \begin{bmatrix} J_1 \\\ & J_2 \\\ & & \ddots \\\ & & & J_n \end{bmatrix}$$

where each block $J_i$ corresponds to the eigenvalue $\lambda_i$ and is of the form

$$ J_i = \begin{bmatrix} \lambda_i & 1 \\\ & \lambda_i & \ddots \\\ & & \ddots & 1 \\\ & & & \lambda_i \end{bmatrix}$$

and each $J_i$ has the property that $J_i - \lambda_i I$ is nilpotent, and in fact has kernel strictly smaller than $(J_i - \lambda_i I)^2$, which shows that none of these Jordan blocks fix any proper subspace of the subspace which they fix. Thus, Jordan canonical form gives the closest possible to a diagonal matrix. The elements in the superdiagonals of the Jordan blocks are the obstruction to diagonalization.

So far, so good. What I want to prove is the assertion that "Almost all square matrices over $\mathbb{C}$ is diagonalizable". The measure on the space of matrices is obvious, since it can be identified with $\mathbb{C}^{n^2}$. How to prove, perhaps using the above Jordan canonical form explanation, that almost all matrices are like this?

I am able to reason out the algebra part as above, but is finding difficulty in the analytic part. All I am able to manage is the following. The characteristic equation is of the form

$$(x - \lambda_1)(x - \lambda_2) \cdots (x - \lambda_n)$$

and in the space generated by the $\lambda_i$'s, the measure of the set in which it can happen that $\lambda_i = \lambda_j$ when $i \neq j$, is $0$: this set is a union of hyperplanes, each of measure $0$.

But here I have cheated, I used only the characteristic equation instead of using the full matrix. How do I prove it rigorously?