Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
h8er
15 / 15 / 7
Регистрация: 20.11.2013
Сообщений: 92
#1

Как получить доступ к элементам массива работая с ним как с указателем и адресной арифметикой

27.01.2014, 13:56. Просмотров 301. Ответов 3
Метки нет (Все метки)

C++
1
2
3
      int array[5][5] = { {1,2,3}, {1,2},{1,2,3,4}, {1,2,3,4},{1,2,},};
      for(int i = 0; i < 25; i++)
              printf("%d ", array[0][i]);
Как можно представить array[0][i] в виде указателя *(array + ...) ? В смысле как получить доступ к элементам массива работая с ним как с указателем и адресной арифметикой?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2014, 13:56
Ответы с готовыми решениями:

Как получить доступ к элементам вектора
Нашел вот такой код. А вот как получить доступ к элементам вектора? FILE *ToWrite =...

Как получить доступ к элементам формы из созданного класса?
Всем доброго времени суток!:help: Скажите, пожалуйста, как мне обратиться к элементу...

Как сделать указатель на структуру и получить так доступ к элементам?
Здравствуйте!Как сделать указатель на структуру и получить так доступ к элементам? #include...

Создать функцию с адресной арифметикой (масив символов)
Прошу помощи, поскольку по указателям в строках найти инфу очень сложно. В данном случае у меня...

Можно ли адресной арифметикой перебрать массив массивов по первому индексу во вложенном цикле, а во внешнем по второму?
Можно ли адресной арифметикой перебрать массив массивов по первому индексу во вложенном цикле, а во...

3
Tulosba
:)
Эксперт С++
4747 / 3241 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
27.01.2014, 14:05 #2
Простенький пример:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
 
int main() {
    
    int a[2][3] = { 0 };
    a[1][2] = 42;
    std::cout << *((*(a + 1))+2) << std::endl;
    return 0;
}
http://ideone.com/axsLRz
1
h8er
15 / 15 / 7
Регистрация: 20.11.2013
Сообщений: 92
27.01.2014, 14:12  [ТС] #3
Скажите, пожалуйста, а для чего нужно разыменование *(a + 1)? Ведь работа идет по адресам, я правильно понимаю?
0
Tulosba
:)
Эксперт С++
4747 / 3241 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
27.01.2014, 14:14 #4
Цитата Сообщение от h8er Посмотреть сообщение
для чего нужно разыменование
потому что a - это, если можно так сказать для статического массива, указатель на указатель на целое.
Т.о., чтобы получить значение, требуется два разыменования.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2014, 14:14

Классы С++, получить доступ из одного класса к элементам другого
Здравствуйте! Объясните пожалуйста, вот имеется у меня два класса,например вот такие: Class A...

Как с указателем обратиться к 4му элементу массива
Имеем массив из 50 элементов. Как с помощью указателей обратиться к 4му элементу массива?

Доступ к элементам массива
Имеется следующий код: #include &lt;QCoreApplication&gt; #include &lt;vector&gt; #include &lt;iostream&gt;...


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

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

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