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

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

Войти
Регистрация
Восстановить пароль
 
Darthriddikc
10 / 10 / 0
Регистрация: 23.12.2012
Сообщений: 45
#1

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

18.10.2013, 02:19. Просмотров 416. Ответов 3
Метки нет (Все метки)

Всем доброй ночи!Кто-то наверное уже спит, а я вот никак не могу понять смысл указателей на массив из 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++
Указатель на массив C++
Указатель и массив C++
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
Ворчун
Эксперт CЭксперт С++
 Аватар для MrGluck
6227 / 3472 / 424
Регистрация: 29.11.2010
Сообщений: 9,178
18.10.2013, 13:48     Указатель на массив из n элементов #4
Цитата Сообщение от Darthriddikc Посмотреть сообщение
я и хотел разобраться с таким видом указателя и где такую конструкцию можно целесообразно было бы применять.
целесообразно использовать индексы и не извращаться
Yandex
Объявления
18.10.2013, 13:48     Указатель на массив из n элементов
Ответ Создать тему
Опции темы

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