1
В Xcode 6:Xcode 7 Память Адрес
int i = 17;
printf ("i stores its value at %p\n", &i);
Я вижу что-то вроде этого:
i stores its value at 0xbffff738
Но в Xcode 7, его выход формат:
i stores its value at 0x7fff5fbff7cc
Может кто-то объясняет разницу?
int is 32bit, почему Xcode 7 помещает int в 64-разрядный адрес вместо 32-битного адреса? – CTCoder
Поскольку адресация памяти основана на архитектуре системы, на которой работает ваше программное обеспечение. в 64-битной архитектуре адреса памяти всегда будут 64 бита независимо от того, что находится в этой ячейке памяти. То, что вы печатаете, является адресом этого int не самого int. Поэтому, будь то какой-либо из примитивных типов данных, таких как 'int' или' char', или объект, который может быть любого размера, его адрес будет 64 бита. Думайте о памяти как о улице, а адреса памяти - о номерах дома. Номера домов не имеют никакого отношения к числу людей, живущих там! –
Получил это, спасибо за объяснение. – CTCoder