Alternatively, you may define indexed family of functions like c[1],...,c[n]. Indices do not have to be contiguous, as you can get them all from the symbol definition. So if you define
c[1] = Sin;
c[2] = Cos;
c[3][x_] := Cos[x]^2;
you can do the plotting by iterating the index
Table[Plot[c[i][x], {x, -Pi, Pi}], {i, 3}]
You can also iterate over all defined indices in a general way:
Plot[c[#][x], {x, -Pi, Pi}] & /@
Union[SubValues[c][[All, 1, 1, 0, 1]],
DownValues[c][[All, 1, 1, 1]]]
You may also define a function to help with such an iteration, to hide the ugliness of index scavenging:
AllFunIndices[sym_Symbol] :=
Union[SubValues[sym][[All, 1, 1, 0, 1]],
DownValues[sym][[All, 1, 1, 1]]];
SetAttributes[AllFunIndices, HoldAll]
and then the plotting code over indices becomes much more transparent
Plot[c[#][x], {x, -Pi, Pi}] & /@ AllFunIndices[c]