Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Al1231
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 55
1

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

19.11.2016, 16:06. Просмотров 193. Ответов 2

Всем доброго времени суток! Я не до конца разобрался в данной теме.
К примеру, есть такой кусок программы:
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 цикл идет до тех пор, пока у нас не кончатся ячейки, выделенные под динамический массив, я правильно понимаю?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2016, 16:06
Ответы с готовыми решениями:

Объяснить, что происходит в заданном фрагменте кода
ifstream f(&quot;Базаданных.bd&quot;, ios::binary); f.read((char*)&amp;P,sizeof(P)); do ...

Объяснить, что происходит в заданном фрагменте кода
В подпрограмме Всё предельно ясно кроме одной строки - P.year=y-'0'; Объясните...

Списки: объяснить, что происходит в заданном фрагменте кода
Помогите разобраться в коде, вот код с# public class Node { ...

Объяснить, что происходит в заданном фрагменте кода (шифр Цезаря)
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt;...

Очередь на основе массива: объяснить что происходит в заданном фрагменте кода
всем привет. начал разбираться с очередью на с++ и наткнулся на пример. вот...

2
nd2
2835 / 2403 / 1057
Регистрация: 29.01.2016
Сообщений: 8,046
19.11.2016, 17:26 2
Цитата Сообщение от Al1231 Посмотреть сообщение
"pointer=a" - здесь все понятно, указатель приравнивается индексу нулевого элемента
В pointer помещается адрес начала выделенной, через new, памяти.

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

Добавлено через 11 минут
Цитата Сообщение от Al1231 Посмотреть сообщение
цикл идет до тех пор, пока у нас не кончатся ячейки, выделенные под динамический массив, я правильно понимаю?
В общем и целом - правильно. Пока значение pointer не выйдет за границу выделенной памяти.
1
Al1231
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 55
19.11.2016, 18:47  [ТС] 3
Спасибо большое за подробное объяснение! Раскидали как и хотелось, ответ получен. Благодарю!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2016, 18:47

Нюансы синтаксиса: объяснить как работает тернарная операция в заданном фрагменте кода
Всем доброго времени суток! Помогите разобраться с кодом. const char x =...

Объяснить, что происходит в данном фрагменте кода (матрицы)
Вообщем столкнулся с первой проблемой в изучении данного языка (с++). Мой мозг...

Объяснить что происходит в данном фрагменте кода (вложенные циклы и массивы)
Объясните пожалуйста данный моментfor (int i = 1; i &lt;= a; i++) { if (m ==...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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