Насколько я знаю, когда я объявляю переменную целочисленного типа в 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 .