Обычно «переменные стека», которые на самом деле являются локальными переменными, имеют нулевую стоимость. Единственная цена, которую вы заплатите, - это какая-то инициализация.
Компилятор может резервировать память для этого значения или нет. Во втором случае вы на самом деле не используете a
, поэтому он, вероятно, будет устранен проходом оптимизации, что сделает его по-настоящему нулевым.
Не думайте о них с точки зрения «стека». Это устаревшая концепция, которая предшествует оптимизации компиляторов.