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

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

Войти
Регистрация
Восстановить пароль
 
ilizard
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 50
#1

Не могу понять, что означает данная операция с указателями - C++

11.03.2013, 06:06. Просмотров 291. Ответов 4
Метки нет (Все метки)

вот такой код
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <conio.h>
using namespace std;
int rrr2 (int **p) 
{return ((**p-1)***p);};
 
 
void main () 
{
   int n=2, *nn = &n;
   cout << (p);
    getch();}
Все бы ничего, но совершенно не понимаю запись ((**p-1)***p)
что она означает??
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.03.2013, 06:06     Не могу понять, что означает данная операция с указателями
Посмотрите здесь:

C++ не могу понять что не так
не могу понять что не так((((( C++
C++ что не верно? не могу понять.
Операция с указателями C++
C++ что означает данная строчка? &operator
не могу понять что с выводом C++
C++ Не могу что-то понять с указателями
C++ Что-то с циклом в программе не могу понять
Что означает данная строчка кода? C++
Что означает данная строка. Указатели C++
C++ Что означает данная запись
Нюансы синтаксиса: что означает данная запись C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12877 / 7263 / 810
Регистрация: 27.09.2012
Сообщений: 17,940
Записей в блоге: 2
Завершенные тесты: 1
11.03.2013, 06:20     Не могу понять, что означает данная операция с указателями #2
(**p-1)
разыменовываем дважды двойной указатель, тем самым получаем значение int, на которое указывал указатель *p и вычитаем от него 1.
***p
Это лучше записать так:
C++
1
* **p
имхо, так понятнее выглядит.

Добавлено через 19 секунд
Цитата Сообщение от ilizard Посмотреть сообщение
C++
1
cout << (p);
В функции main нет p
ValeryS
Модератор
6505 / 4971 / 459
Регистрация: 14.02.2011
Сообщений: 16,471
11.03.2013, 06:21     Не могу понять, что означает данная операция с указателями #3
Цитата Сообщение от ilizard Посмотреть сообщение
((**p-1)***p)
а ты разбей и увидишь
C++
1
((**p-1) * **p)
т.е значение на которое указывает указатель на указатель p-1 умножить на значение на которое указывает указатель на указатель p
BumerangSP
4284 / 1406 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
11.03.2013, 12:12     Не могу понять, что означает данная операция с указателями #4
Чтоб понятней было, можно и так расписать:
C++
1
((p[0][0]-1) * p[0][0]);
ITcrusader
Эксперт C++
176 / 162 / 8
Регистрация: 12.02.2013
Сообщений: 410
11.03.2013, 13:11     Не могу понять, что означает данная операция с указателями #5
Цитата Сообщение от ilizard Посмотреть сообщение
Все бы ничего, но совершенно не понимаю запись ((**p-1)***p)
что она означает??
Что руки оторвать нужно тому, кто это написал
Yandex
Объявления
11.03.2013, 13:11     Не могу понять, что означает данная операция с указателями
Ответ Создать тему
Опции темы

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