Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 19.02.2012
Сообщений: 83
1

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

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

Author24 — интернет-сервис помощи студентам
Ув. гуру!
Начал изучать указатели на С++, но что-то не понимаю..
Имеется код:
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 стали равны этим адресам? я тут какие-то азы не освоил.. помогите, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.02.2012, 16:53
Ответы с готовыми решениями:

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

Код без индексации, с указателями
Кому не сложно переписать мой код с указателями? По задаче индексация запрещена. Тема для меня...

Работа с указателями - прокомментировать код
ваще нефига не понятно что означает каждая строка #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include...

Разобрать код, демонстрирующий работу с указателями
Здравствуйте. Помогите пожалуйста разобраться с работой указателей. #include &lt;iostream&gt; using...

8
Диссидент
Эксперт C
27709 / 17325 / 3811
Регистрация: 24.12.2010
Сообщений: 38,979
19.02.2012, 17:01 2
j = это адрес.
0
2554 / 1319 / 178
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
19.02.2012, 17:01 3
Цитата Сообщение от Exxtazy Посмотреть сообщение
Я не могу понять что это за адреса получились
Это адреса переменных в массиве.

Цитата Сообщение от Exxtazy Посмотреть сообщение
почему вдруг i/f стали равны этим адресам?
i / f указывают на j / g соответсвенно. Они не равны этим адресам(равны только адресам из первой строчки).
0
Формучанин
364 / 296 / 42
Регистрация: 02.11.2010
Сообщений: 1,245
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];
0
0 / 0 / 1
Регистрация: 19.02.2012
Сообщений: 83
19.02.2012, 17:09  [ТС] 5
спасибо всем, но я наверное неправильно задал вопрос.. я понял что на что указывает.. мне непонятно само понятие адрес.. откуда взят такой адрес 003AFD48 ? что это вообще за цифры, буквы?....
0
Эксперт С++
5056 / 3116 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
19.02.2012, 17:29 6
Exxtazy, про системы счисления слышали? Про шестнадцатеричную, в частности? Про оперативную память? Про её ячейки? Про то, что все ячейки пронумерованы, и номер есть адрес конкретной ячейки? Про виртуальное адресное пространство? Видите, сколько смежных вопросов возникает только из того, чтобы объяснить, что такое адрес.
0
0 / 0 / 1
Регистрация: 19.02.2012
Сообщений: 83
19.02.2012, 17:32  [ТС] 7
silent_1991, только поверхностно читал.. поэтому туплю.. посоветуйте почитать чтонить по этой теме
0
143 / 112 / 36
Регистрация: 14.04.2011
Сообщений: 261
19.02.2012, 17:33 8
Цитата Сообщение от Exxtazy Посмотреть сообщение
посоветуйте почитать чтонить по этой теме
У Дейтлов эта тема хорошо освещена
0
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
19.02.2012, 17:35 9
Цитата Сообщение от Exxtazy Посмотреть сообщение
почему вдруг i/f стали равны этим адресам?
Потому что ось решила разместить массивы с этих адресов.

Добавлено через 55 секунд
Цитата Сообщение от Exxtazy Посмотреть сообщение
откуда взят такой адрес 003AFD48 ?
Из системы.
Цитата Сообщение от Exxtazy Посмотреть сообщение
что это вообще за цифры, буквы?
Там нет ни одной буквы.
0
19.02.2012, 17:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.02.2012, 17:35
Помогаю со студенческими работами здесь

Разобрать код с указателями
Если делать так, то приложение крэшится: char *str = &quot;71903asgd5&quot;; *(str+1) = 'd'; ...

Исправьте код с указателями на функции
Исправте, пожалуйста, код в С, где я допустил ошибку??? #include &lt;iostream&gt; #include &lt;cmath&gt;...

Работа с указателями - прокомментировать код
у меня такая прозьба объясните пожалуста по подробние что означает каждая строчка этой программы:...

Исправить код с рекурсивной функцией с указателями
по сути программа должна считывать массив, потом при вызове функции, проводя махинации, выводить...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru