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

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

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

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

11.03.2013, 06:06. Просмотров 302. Ответов 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++
Добрый день Имеется простой класс Class Test { public: unsigned a : 1; unsigned b : 1; };

Что означает данная строчка кода? - C++
#define MASSIZE(x) (sizeof(x)/sizeof(x)) можете пожалуйста объяснить что это значит?

Что означает данная строка. Указатели - C++
void varInDynamicMemory(){ int *p1; int i=12; float *p2; float f=3.14; double *p3; double d=4.789; cout&lt;&lt;&quot;Исходные значения...

что означает данная строчка? &operator - C++
что это означает? (Tabl это класс) friend ofstream &amp;operator &lt;&lt; ( ofstream &amp;outf, Tabl MyTabl ) я так понимаю объявляется...

Нюансы синтаксиса: что означает данная запись - C++
Всем привет! VS2010, консольный проект C++. По ошибке написал: int b = (5, 4, 11, 56, 18, 0); IntSet is2(n, (5, 4, 11, 56, 18,...

Операция с указателями - C++
SomeClass* ptr = sc1; SomeClass* ptr2 = ptr1; как имея только ptr2 изменить указатель ptr (изменить переменную, на которую ссылается ptr)...

что не верно? не могу понять. - C++
программа должна оборачивать каждое слово в предложении. (например &quot;пришел&quot;, а выведет &quot;леширп&quot;) #include &quot;stdio.h&quot; #include...

не могу понять что с выводом - C++
помогите найти косяк,у меня при отрицательном &quot;a&quot; он выдаёт результат и &quot;error&quot; хотя должен только &quot;error&quot; таже проблема если b=0 a&gt;0 ...

Что-то с циклом в программе не могу понять - C++
в принципе, функция выделяет в новый массив слов все повторяющиеся слова из старого, но я закоментировал, это, так как у меня почему то не...

Не могу понять, что неправильно с float - C++
Всем здравствия. Прошу прощения за глупый вопрос, но споткнулся на ровном, и не могу понять, что не так. int vsego = 282; int...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
13045 / 7308 / 814
Регистрация: 27.09.2012
Сообщений: 18,041
Записей в блоге: 3
Завершенные тесты: 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
Модератор
6550 / 5016 / 463
Регистрация: 14.02.2011
Сообщений: 16,722
11.03.2013, 06:21     Не могу понять, что означает данная операция с указателями #3
Цитата Сообщение от ilizard Посмотреть сообщение
((**p-1)***p)
а ты разбей и увидишь
C++
1
((**p-1) * **p)
т.е значение на которое указывает указатель на указатель p-1 умножить на значение на которое указывает указатель на указатель p
BumerangSP
4286 / 1408 / 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     Не могу понять, что означает данная операция с указателями
Ответ Создать тему
Опции темы

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