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

Нюансы работы с указателями: объяснить, что происходит в заданном фрагменте кода - C++

Восстановить пароль Регистрация
 
Al1231
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 11
19.11.2016, 16:06     Нюансы работы с указателями: объяснить, что происходит в заданном фрагменте кода #1
Всем доброго времени суток! Я не до конца разобрался в данной теме.
К примеру, есть такой кусок программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
    int N;  
    int *a, *pointer;
 
    cout <<"Введите n"<< endl; 
    cin >> N; 
    cout <<"Введите значение элементов массива "<< endl; 
    a = new int [N]; 
    
    for (pointer=a; pointer-a<N;pointer++) 
    { 
        cin >> *pointer; 
        
    } 
...

"pointer=a" - здесь все понятно, указатель приравнивается индексу нулевого элемента, а дальше, изменяется ли каким-то образом а?
И дальше, то есть pointer-a<N цикл идет до тех пор, пока у нас не кончатся ячейки, выделенные под динамический массив, я правильно понимаю?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2016, 16:06     Нюансы работы с указателями: объяснить, что происходит в заданном фрагменте кода
Посмотрите здесь:

C++ Очередь на основе массива: объяснить что происходит в заданном фрагменте кода
C++ Что происходит в этом фрагменте кода?
C++ Объяснить что происходит в данном фрагменте кода (вложенные циклы и массивы)
Объяснить, что происходит в заданном фрагменте кода C++
C++ Объяснить, что происходит в заданном фрагменте кода
Объяснить, что происходит в данном фрагменте кода (матрицы) C++
Нюансы синтаксиса: объяснить как работает тернарная операция в заданном фрагменте кода C++
Объяснить, что происходит в заданном фрагменте кода (шифр Цезаря) C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nd2
1025 / 764 / 257
Регистрация: 29.01.2016
Сообщений: 2,387
19.11.2016, 17:26     Нюансы работы с указателями: объяснить, что происходит в заданном фрагменте кода #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Al1231 Посмотреть сообщение
"pointer=a" - здесь все понятно, указатель приравнивается индексу нулевого элемента
В pointer помещается адрес начала выделенной, через new, памяти.

Добавлено через 1 минуту
Цитата Сообщение от Al1231 Посмотреть сообщение
а дальше, изменяется ли каким-то образом а?
Не изменяется. Для этого и создаётся дополнительный указатель.

Добавлено через 11 минут
Цитата Сообщение от Al1231 Посмотреть сообщение
цикл идет до тех пор, пока у нас не кончатся ячейки, выделенные под динамический массив, я правильно понимаю?
В общем и целом - правильно. Пока значение pointer не выйдет за границу выделенной памяти.
Al1231
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 11
19.11.2016, 18:47  [ТС]     Нюансы работы с указателями: объяснить, что происходит в заданном фрагменте кода #3
Спасибо большое за подробное объяснение! Раскидали как и хотелось, ответ получен. Благодарю!
Yandex
Объявления
19.11.2016, 18:47     Нюансы работы с указателями: объяснить, что происходит в заданном фрагменте кода
Ответ Создать тему

Метки
указатель
Опции темы

Текущее время: 05:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru