21:01

Беги, беги, не бойся играть судьбою вновь и вновь.
В предыдущей записи второй ответ сподвигнул меня на эксперементы, и я получил странные результаты. Как-то не очень понятно, по какому принципу VC++ определяет, сколько памяти нужно выделить под переменную. Эксперементировал я, банально объявляя в функции main() несколько переменных и изучая их адреса. Помогите, пожалуйста понять логику выделения памяти.
Конкретный пример:
читать дальше

@темы: VC++, выделение памяти

Комментарии
24.03.2011 в 22:41

IDDQD - Команда молодости нашей, команда, без которой мне не жить.
Есть такая вещь, как выравнивание адресов. Это когда адрес переменной вываливается по границе, красной какому-нибудь числу. Обычно (но не всегда) - четырем. Именно это ты и наблюдаешь.
24.03.2011 в 23:09

Беги, беги, не бойся играть судьбою вновь и вновь.
Хм... А зачем это вообще делается? Единственное, что могу предположить, так это физическое расположение ячеек в оперативной памяти для более быстрого чтения, т.к. кратности чему-то я все-таки не заметил. И происходит это только в стеке или в куче тоже?