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

Указатель на массив из n элементов - C++

Восстановить пароль Регистрация
 
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
18.10.2013, 02:19     Указатель на массив из n элементов #1
Всем доброй ночи!Кто-то наверное уже спит, а я вот никак не могу понять смысл указателей на массив из n элементов, ведь при увеличения значения указателя, допустим на единицу, он "шагает" через весь массив т.е. переходит на адрес <размер типа массива>*<количество элементов>, для того чтобы увидеть значение элемента массива, на который ссылается указатель, надо произвести двойное разыменование, почему? Как, тогда косвенно обратится к остальным элементам массива кроме 1-ого?
Например:
C++
1
2
3
4
5
6
7
int Arr[]={1,2,3,4,5}; //целочисленный массив из 5 элементов
int (*ptArr)[5]; //целочисленный указатель на массив из 5 элементов
ptArr=&Arr;
cout<<ptArr<<' '<<*ptArr<<' '<<**ptArr<<endl; //на экране будет два одинаковых адреса и значение 1-ого элемента массива
cout<<&ptArr[0]<<' '<<ptArr[0]<<' '<<*ptArr[0]<<endl; //на экране тоже самое, что и выше
ptArr[1]; //это место находиться уже через sizeof(Arr) байт
ptArr++; //указатель переходит на sizeof(Arr) байт вперёд
Добавлено через 1 минуту
Всё, сам допёр (наверное) Этот ptArr, грубо говоря, это указатель на двумерный массив, т.е. в моём примере на массив состоящий из 5 столбцов и 1 строки, тогда всё сходится, и обратиться тогда, допустим к 3-ему элементу, можно так: ptArr[0][2], тогда, я думаю, что понимаю почему такие вещи происходили, так как с ним нужно обходится как с указателем на двумерный массив
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2013, 02:19     Указатель на массив из n элементов
Посмотрите здесь:

Указатель на массив C++
указатель и массив C++
Что быстрее использовать, массив э-в, или указатель на массив э-в? C++
Динамический массив и указатель на указатель C++
Указатель на массив C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
extenup
53 / 53 / 3
Регистрация: 12.11.2011
Сообщений: 109
18.10.2013, 11:13     Указатель на массив из n элементов #2
Цитата Сообщение от Darthriddikc Посмотреть сообщение
int (*ptArr)[5];
Какие-то сложности вы написали. Вот указатель на массив: int *ptArr = Arr; Вот мы узнаём адрес первого элемента массива: cout << ptArr; А вот мы узнаём адрес второго элемента массива cout << ptArr + 1; Ну а так мы узнаём значение на пример третьего элемента cout << *(ptArr + 2);
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
18.10.2013, 13:39  [ТС]     Указатель на массив из n элементов #3
extenup, ну это понятно, простой указатель на массив и указатель на массив с определённым количеством элементов – разные вещи, я и хотел разобраться с таким видом указателя и где такую конструкцию можно целесообразно было бы применять.
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4919 / 2662 / 243
Регистрация: 29.11.2010
Сообщений: 7,398
18.10.2013, 13:48     Указатель на массив из n элементов #4
Цитата Сообщение от Darthriddikc Посмотреть сообщение
я и хотел разобраться с таким видом указателя и где такую конструкцию можно целесообразно было бы применять.
целесообразно использовать индексы и не извращаться
Yandex
Объявления
18.10.2013, 13:48     Указатель на массив из n элементов
Ответ Создать тему
Опции темы

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