Equilibrium constant expression for heterogeneous equilibrium Consider this reaction:

$$\ce{CaCO3(s) &lt;=&gt; CaO(s) + CO2(g)}$$

for this, $K_c=\left[\ce{CO2(g)}\right]$

For a given temperature, $K_c$ will remain fixed. That means, the  amount of $\ce{CO2}$ released will be same, irrespective of amount of $\ce{CaCO3}$ taken. 

But, that means, at the same temperature, irrespective of  whether we start with 1 g of $\ce{CaCO3}$, or 10 kg of $\ce{CaCO3}$, the amount of $\ce{CO2}$ at equilibrium will be same(!) because, according to the $K_c$ expression, it should be constant. 

This is against my intuition, because, it seems that if we start with 10 kg of $\ce{CaCO3}$, we should end up with a much larger amount of $\ce{CO2}$ at equilibrium than if we started with just 1 g of the carbonate.

Am I being mistaken somewhere, or is this is what will actually happen? I am confused.
First, as kaliaden commented, the true equilibrium constant

$$K(T,p) = a(\textrm{CaO,s}) a(\textrm{CO$_2$,g}) / a(\textrm{CaCO$_3$,s}) \approx
p_\textrm{CO$_2$} / p^\circ \equiv K_p(T)$$

where $a$ are the activities, $p$ the partial pressure and $p^\circ$ is one bar.
Thus $K$ basically only depends on temperature (unless you are interested in brutally large pressures, and we safely disregard the sublimation of CaCO$_3$ and the effect of the air). Obviously you can obtain 

$$K_c(T) \approx K_p(T)/ RT = [\textrm{CO$_2$}]$$

Now your question is: how is it that this constant does not depend on the amount of matter that we have? 

The fact is that as long as there is enough matter to reach the equilibrium (to saturate the air with carbon dioxide vapor) it doesn't matter how much CaCO$_3$ you start with. The reaction will proceed until reaching an equilibrium characterized by $K(T) \approx p_\textrm{CO$_2$} / p^\circ$. Obviously if you don't have enough CaCO$_3$ (for instance, a few micrograms) then everything will react and you will not reach the equilibrium.