eben.
Durch die Programmierung sagt das Programm dem Betriebssystem schon, wieviel es benötigt. (Durch die Deklaration der Variblen und zusätzliches allozieren des Speichers bei dynamischen Datenstrukturen (z.B. dynamische Arrays oder verkettete Listen)).

Eine zusätzliche Allokation des Speichers, von außerhalb, macht keinen Sinn, da dieser Speicher vom Programm nicht verwendet wird.