| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > static переменные |
| Автор: Artemon 28.1.2011, 09:37 |
| 1. Где распологаются статические переменные созданные внутри блока ? 2. Где распологаются статические переменные созданные глобально ? В стеке ? в Heap ? |
| Автор: Earnest 28.1.2011, 11:08 |
| И те и другие в специальной секции. И это не хип и не стек, конечно. |
| Автор: Artemon 28.1.2011, 11:14 |
| А что за секция такая ? И как она называется ? |
| Автор: mes 28.1.2011, 11:51 |
| http://en.wikipedia.org/wiki/Data_segment |
| Автор: sergioK1 4.2.2011, 13:44 |
| Локальность статика это для scope visibility на уровне компайлера, асемблеру,в который код компилируеться, все равно как это прописали , лосально в функции или нет , |
| Автор: Earnest 4.2.2011, 18:19 |
| Ну не совсем, если статическая переменная инициализируется неконстантым выражением. Глобальная статическая переменная инициализируется (т.е. выражение выполняется) сразу после загрузки, но до main. А если переменная объявлена внутри функции - только при первом доступе туда. Стало быть и код компилируется разный. |