Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Max_92
25 / 7 / 1
Регистрация: 26.04.2010
Сообщений: 205
1

Как обратиться через указатель к данным, которые он адресует?

15.09.2012, 13:52. Просмотров 629. Ответов 6
Метки нет (Все метки)

c++ как обратиться через указатель к данным, которые он адресует?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.09.2012, 13:52
Ответы с готовыми решениями:

Как обратиться к элементам массива через указатель?
// 2 зачет.cpp: определяет точку входа для консольного приложения. // ...

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

Как обратиться к полям структуры через указатель и объявление указателя на структуру
Как обратиться к полям структуры через указатель и объявление указателя на...

Как получить доступ к данным класса, которые являются элементом вектора?
ситуация такая, есть собственноручно написанный Vector есть класс "Person",...

Как получить ссылку на указатель или указатель на указатель в массиве?
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как...

6
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2012, 13:55 2
через унарную операцию *. Например

int x, *px;
px = &x; // px содержит адрес переменной x
*px = 0; // в x записали 0
1
Max_92
25 / 7 / 1
Регистрация: 26.04.2010
Сообщений: 205
15.09.2012, 13:55  [ТС] 3
в случае динамического массива вроде бы это происходит так: сначала отводится память, например a = new int[10], а потом тупо через этот указатель с индексом, например a[5] происходит обращения к конкретным данным. но в случае если это обычный указатель, например float * p = &a, то при обращении к "p" будет получен адрес
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2012, 13:58 4
Так и пишите (поле инициализации p = a)

int *a, *pa;
a = new int[10];
pa = a; // никак не pa = &a, a и так содержит адрес участка выделенной памяти
далее обращение к элементам через указатель pa: pa[i] либо *(pa + i). Тоже самое и с a:
a[i] либо *(a + i)
0
Max_92
25 / 7 / 1
Регистрация: 26.04.2010
Сообщений: 205
15.09.2012, 14:01  [ТС] 5
а если допустим есть функция с аргументом char * a, то почему в функцию подставляют не p, где p - это указатель, а *p ??
0
Thinker
Эксперт С++
4232 / 2206 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
15.09.2012, 14:04 6
... F(char *s) // функция F
...


char *ps = "....";
F(ps) // а не F(*ps)
1
desu
0 / 0 / 0
Регистрация: 11.05.2012
Сообщений: 23
15.09.2012, 14:21 7
есть функция с аргументом char * a, то почему в функцию подставляют не p, где p - это указатель, а *p ??
Вы заблуждаетесь, подставляют как раз p.
0
15.09.2012, 14:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.09.2012, 14:21

Как обратиться к классу через значение переменной?
Есть такой вопрос: Как обратиться через значение переменной к объекту...

Попрошу разъяснить что означает : list , символ -> и как обратиться к переменным , которые заданы в структуре (inf , next).
Добрый вечер. Попрошу помочь с следующим кодом : #include <cstdlib>...

Как сделать доступ через указатель?
Всем привет. Нужна помощь. Нужно вектору объектов в одном классе сделать...


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

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

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