Форум города Днепр (Днепропетровска)
Форум города Днепр

Вернуться   Форум города Днепр (Днепропетровска) > КОМПЬЮТЕРЫ и программы > Онлайн уроки > Уроки C++

Уроки C++ Уроки C++

Ответ
 
Опции темы Опции просмотра
Старый 18.02.2011, 14:01   #1
Strelok
Бессмертный
 
Аватар для Strelok
 
Регистрация: 22.01.2009
Адрес: Ф жДуНгЛяХ
Сообщений: 1,388
Сказал(а) спасибо: 134
Поблагодарили 614 раз(а) в 333 сообщениях
Настроение: Angelic
Вес репутации: 383
Strelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспоримаStrelok репутация неоспорима
По умолчанию Адресация в С++

Напишем программу, которая показывает, что одна из ячеек памяти занята под переменную iNum1 и содержит значение 2. Как программист, вы называете эту ячейку iNum1, но компьютер ссылается на эту ячейку памяти, используя определенное число. Ячейки памяти нумеруются в компьютере последовательно: 1, 2, 3, 4 и т.д. Эти числа называются адресами ячеек памяти. Как программисту, вам, вероятно, никогда не понадобится знать значение адреса этой ячейки памяти, который не всегда один и тот же. В зависимости от того, что выполнялось перед вашей программой, что уже имеется в памяти, и в зависимости от других факторов, адрес, используемый для хранения iNum1, будет меняться даже на одном и том же компьютере. Тем не менее, вы можете извлечь адрес, использующийся для ячейки памяти, посредством операции & (операция взятия адреса). Чтобы посмотреть ее в действии, сделайте следующее:

void main( void )
{
int iNum1;
iNum1 = 2;
cout << "Address of iNum1 is: ";
cout << iNum1 << endl;
}



Добавленный вами блок кода выводит адрес, использующийся для ячейки памяти переменной iNumI:
__________________
Strelok вне форума   Ответить с цитированием
Старый 10.08.2024, 14:06   #2
Николь84
Избранный
 
Аватар для Николь84
 
Регистрация: 05.09.2016
Сообщений: 561
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Вес репутации: 163
Николь84 на пути к лучшему
По умолчанию Re: Адресация в С++

Вы правы, чтобы вывести адрес памяти, занимаемой переменной, нужно использовать оператор & для получения адреса этой переменной. Ваш код выводит значение переменной iNum1, но не ее адрес. Вот исправленный пример кода:

cpp
Копировать код
#include <iostream>
using namespace std;

int main(void)
{
int iNum1;
iNum1 = 2;
cout << "Address of iNum1 is: ";
cout << &iNum1 << endl; // Используем оператор & для получения адреса переменной iNum1
return 0;
}
В этом примере &iNum1 возвращает адрес памяти, где хранится переменная iNum1. Этот адрес будет разным каждый раз, когда вы запускаете программу, и может изменяться при каждом выполнении, так как он зависит от состояния памяти и других факторов.
Николь84 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 17:24. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2024, vBulletin Solutions Inc. Перевод: zCarot