[proofplan]
We decompose $X$ into its path components $\{X_\lambda\}_{\lambda \in \Lambda}$ and use the fact that singular chains on $X$ split as a direct sum over path components. The augmentation map $\varepsilon: C_0(X) \to \mathbb{Z}$, $\sum n_\sigma \sigma \mapsto \sum n_\sigma$, restricts to each path component, and on each path-connected component $X_\lambda$ we have $H_0(X_\lambda) \cong \mathbb{Z}$ (by the theorem [$H_0$ and Path Components](/theorems/2235)). Since chains on disjoint spaces cannot interact, $H_0(X) \cong \bigoplus_{\lambda \in \Lambda} H_0(X_\lambda) \cong \bigoplus_{\lambda \in \Lambda} \mathbb{Z}$, which is free abelian with one generator per path component.
[/proofplan]
[step:Decompose the singular chain complex over path components]
Let $\{X_\lambda\}_{\lambda \in \Lambda}$ be the path components of $X$. Every singular $n$-simplex $\sigma: \Delta^n \to X$ has connected domain $\Delta^n$, so $\sigma(\Delta^n)$ is a connected subset of $X$ and lies entirely in some path component $X_\lambda$. Therefore every singular simplex of $X$ is a singular simplex of exactly one $X_\lambda$, and the singular chain group decomposes as
\begin{align*}
C_n(X) = \bigoplus_{\lambda \in \Lambda} C_n(X_\lambda)
\end{align*}
for each $n$. The boundary map $d_n: C_n(X) \to C_{n-1}(X)$ respects this decomposition: each face of a simplex in $X_\lambda$ is again a simplex in $X_\lambda$ (since $X_\lambda$ is a subset and the face is a restriction of $\sigma$). Therefore the singular chain complex of $X$ splits as a direct sum of chain complexes:
\begin{align*}
C_\bullet(X) = \bigoplus_{\lambda \in \Lambda} C_\bullet(X_\lambda).
\end{align*}
[guided]
Why does the decomposition into path components split the chain complex? The key observation is that $\Delta^n$ is connected (it is convex, hence path-connected). A continuous image of a connected space is connected, so every singular simplex $\sigma: \Delta^n \to X$ lands entirely within a single path component. There is no singular simplex that "straddles" two different path components.
This means each $C_n(X)$ is the free abelian group generated by simplices, each of which belongs to exactly one path component. The group therefore splits as a direct sum $C_n(X) = \bigoplus_\lambda C_n(X_\lambda)$.
The boundary operator preserves this splitting because the $i$-th face of $\sigma: \Delta^n \to X_\lambda$ is $\sigma \circ \delta_i: \Delta^{n-1} \to X_\lambda$, which again maps into $X_\lambda$. So $d_n$ restricts to $d_n: C_n(X_\lambda) \to C_{n-1}(X_\lambda)$ on each summand.
[/guided]
[/step]
[step:Pass from the chain-level splitting to a splitting of homology]
Homology commutes with direct sums of chain complexes: for a direct sum $C_\bullet = \bigoplus_\lambda C_\bullet^{(\lambda)}$, the cycles decompose as $Z_n = \bigoplus_\lambda Z_n^{(\lambda)}$ and the boundaries decompose as $B_n = \bigoplus_\lambda B_n^{(\lambda)}$, so
\begin{align*}
H_n(C_\bullet) = Z_n / B_n = \bigoplus_{\lambda \in \Lambda} Z_n^{(\lambda)} / B_n^{(\lambda)} = \bigoplus_{\lambda \in \Lambda} H_n(C_\bullet^{(\lambda)}).
\end{align*}
Applying this to our situation:
\begin{align*}
H_0(X) = \bigoplus_{\lambda \in \Lambda} H_0(X_\lambda).
\end{align*}
[/step]
[step:Apply $H_0(X_\lambda) \cong \mathbb{Z}$ to conclude]
Each $X_\lambda$ is a nonempty path-connected space. By [$H_0$ and Path Components](/theorems/2235), $H_0(X_\lambda) \cong \mathbb{Z}$ for each $\lambda \in \Lambda$, generated by the class $[p_\lambda]$ of any point $p_\lambda \in X_\lambda$ (viewed as a $0$-simplex). Therefore
\begin{align*}
H_0(X) \cong \bigoplus_{\lambda \in \Lambda} H_0(X_\lambda) \cong \bigoplus_{\lambda \in \Lambda} \mathbb{Z},
\end{align*}
which is a free abelian group with one generator $[p_\lambda]$ for each path component $X_\lambda$.
[guided]
Each path component $X_\lambda$ is path-connected and nonempty (path components are nonempty by definition). The theorem [$H_0$ and Path Components](/theorems/2235) tells us that for a nonempty path-connected space $Y$, the augmentation $\varepsilon: C_0(Y) \to \mathbb{Z}$ defined by $\varepsilon(\sum n_\sigma \sigma) = \sum n_\sigma$ descends to an isomorphism $H_0(Y) \cong \mathbb{Z}$. This isomorphism sends the class $[p]$ of any $0$-simplex (point) $p \in Y$ to $1 \in \mathbb{Z}$.
Choosing one point $p_\lambda$ from each path component, we obtain the free basis $\{[p_\lambda]\}_{\lambda \in \Lambda}$ for $H_0(X) \cong \bigoplus_\lambda \mathbb{Z}$. Different choices of basepoints within the same path component give the same generator, since any two points in $X_\lambda$ are connected by a path $\gamma$, and the $1$-chain $\gamma$ satisfies $d_1(\gamma) = q - p$, so $[q] = [p]$ in $H_0(X_\lambda)$.
[/guided]
[/step]