Вопрос относительно выделения памяти при объявлении переменной - PullRequest
1 голос
/ 17 февраля 2020

Насколько я знаю, когда я объявляю переменную целочисленного типа в c ++, ОС выделяет 4 байта памяти (windows).

Для тестирования я объявил два типа int переменные (а и б) в основной функции и сравнивали их адреса памяти. Я обнаружил, что разрыв между адресами двух переменных составляет 12 байтов. (Я ожидал 4 байта разницы)

ниже приведен простой тестовый код.

int main()
{   
    int a;
    int b;

    std::cout << &a << std::endl;
    std::cout << &b << std::endl;

    return 0;
}

Вывод: 007BFDF4 007BFDE8

, как показано, разрыв между двумя адресами равен 12 (Я получил ожидаемые адреса памяти, когда использовал массивы) Это из-за заполнения байтов? или по любой другой причине?

пс. Я проверял это на visual studio 2019 / windows 10 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...