Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Exxtazy
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 83
#1

Объясните код с указателями.. - C++

19.02.2012, 16:53. Просмотров 345. Ответов 8
Метки нет (Все метки)

Ув. гуру!
Начал изучать указатели на С++, но что-то не понимаю..
Имеется код:
C++
1
2
3
4
5
6
7
8
9
    int *i, j[10];
    double *f, g[10];
    int x;
 
    i=j;
    f=g;
 
    for(x=0;x<10;x++)
        cout << i+x << ' ' << f+x << '\n';
после выполнения выводит на экран:
Код
003AFD48 003AFCE4
003AFD4C 003AFCEC
003AFD50 003AFCF4
003AFD54 003AFCFC
003AFD58 003AFD04
003AFD5C 003AFD0C
003AFD60 003AFD14
003AFD64 003AFD1C
003AFD68 003AFD24
003AFD6C 003AFD2C
Я не могу понять что это за адреса получились.. почему вдруг i/f стали равны этим адресам? я тут какие-то азы не освоил.. помогите, пожалуйста.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
Эксперт C
15551 / 9893 / 1487
Регистрация: 24.12.2010
Сообщений: 18,506
19.02.2012, 17:01     Объясните код с указателями.. #2
j = это адрес.
soon
2537 / 1302 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.02.2012, 17:01     Объясните код с указателями.. #3
Цитата Сообщение от Exxtazy Посмотреть сообщение
Я не могу понять что это за адреса получились
Это адреса переменных в массиве.

Цитата Сообщение от Exxtazy Посмотреть сообщение
почему вдруг i/f стали равны этим адресам?
i / f указывают на j / g соответсвенно. Они не равны этим адресам(равны только адресам из первой строчки).
nxnx
Формучанин
362 / 293 / 16
Регистрация: 02.11.2010
Сообщений: 1,234
19.02.2012, 17:02     Объясните код с указателями.. #4
C++
1
i=j;
i - указатель на int, а j это адрес элемента j[0]
:
C++
1
2
3
4
5
6
7
8
int *i;
int j[10];
double *f;
double g[10];
int x;
 
i=&j[0];
f=&g[0];
Exxtazy
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 83
19.02.2012, 17:09  [ТС]     Объясните код с указателями.. #5
спасибо всем, но я наверное неправильно задал вопрос.. я понял что на что указывает.. мне непонятно само понятие адрес.. откуда взят такой адрес 003AFD48 ? что это вообще за цифры, буквы?....
silent_1991
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
19.02.2012, 17:29     Объясните код с указателями.. #6
Exxtazy, про системы счисления слышали? Про шестнадцатеричную, в частности? Про оперативную память? Про её ячейки? Про то, что все ячейки пронумерованы, и номер есть адрес конкретной ячейки? Про виртуальное адресное пространство? Видите, сколько смежных вопросов возникает только из того, чтобы объяснить, что такое адрес.
Exxtazy
0 / 0 / 0
Регистрация: 19.02.2012
Сообщений: 83
19.02.2012, 17:32  [ТС]     Объясните код с указателями.. #7
silent_1991, только поверхностно читал.. поэтому туплю.. посоветуйте почитать чтонить по этой теме
R136a1
142 / 111 / 15
Регистрация: 14.04.2011
Сообщений: 261
19.02.2012, 17:33     Объясните код с указателями.. #8
Цитата Сообщение от Exxtazy Посмотреть сообщение
посоветуйте почитать чтонить по этой теме
У Дейтлов эта тема хорошо освещена
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.02.2012, 17:35     Объясните код с указателями..
Еще ссылки по теме:

C++ Объясните код
C++ Объясните код
C++ Объясните правила работы с delete с указателями и массивами (корректное освобождение выделенной памяти)
переделать код, что б было с указателями C++
Объясните код C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
19.02.2012, 17:35     Объясните код с указателями.. #9
Цитата Сообщение от Exxtazy Посмотреть сообщение
почему вдруг i/f стали равны этим адресам?
Потому что ось решила разместить массивы с этих адресов.

Добавлено через 55 секунд
Цитата Сообщение от Exxtazy Посмотреть сообщение
откуда взят такой адрес 003AFD48 ?
Из системы.
Цитата Сообщение от Exxtazy Посмотреть сообщение
что это вообще за цифры, буквы?
Там нет ни одной буквы.
Yandex
Объявления
19.02.2012, 17:35     Объясните код с указателями..
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru