Адреса памяти инициализированных и неинициализированных глобальных переменных - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь провести своего рода эксперимент,

arr и arr2, arr2_1 и arr3_1 являются инициализированными глобальными переменными. Основные и две функции являются функциями внутри программы. variable_of_module1,2,3 - неинициализированные глобальные переменные. Я думаю, что инициализированные глобальные переменные и функции остаются близко друг к другу в памяти. Но я не мог понять, где находятся области памяти. Если инициализированные глобальные переменные находятся в сегменте данных, все адреса памяти выглядят как 602080, а не 7ffe9c4bb60?

Может ли адрес, такой как 7ffe9c4bb360, представлять место в куче или стеке или это может быть и то и другое? Я пытаюсь понять, имеют ли различные сегменты памяти различимые переменные адреса памяти. Я имею в виду, могу ли я угадать, какой адрес памяти находится в каком сегменте памяти компьютера?

адрес arr 602080

адрес arr2 602100

адрес основного развлечения c 40070d

адрес sumtwo fun c 400c87

адрес arr2_1 6021c0

адрес arr3_1 602360

адрес переменной_of_module_1 7ffe9c4bb360

* 2020 адрес переменной_ф_модуля_2 7ffe9c4bf9b0

адрес переменной_оф_модуля_3 7ffe9c4c4000

...