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

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

Войти
Регистрация
Восстановить пароль
 
Gygocopter
10 / 10 / 5
Регистрация: 05.02.2014
Сообщений: 124
#1

В чем разница между указателем и указателем на указатель? - C++

10.04.2014, 23:12. Просмотров 425. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
int x, *p, *q;
x=10;
p=&x;
q=p;
cout<<*q;
C++
1
2
3
4
5
int x, *p, **q;
x=10;
p=&x;
q=&p;
cout<<**q;
В 1 коде q=p - это указателю q присваивается адрес, который хранит указатель p?
Второй код понятен, указателю адрес указателя. Что лучше использовать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 23:12     В чем разница между указателем и указателем на указатель?
Посмотрите здесь:

C++ Работа с указателем.
C++ Калькулятор с указателем
C++ Цикл с указателем
C++ Строковый литерал и указатель на строку. В чем разница?
C++ функция с указателем
Функция с указателем и индексом(Удаляет в строке лидирующие пробелы. Возвращает указатель на преобразованную строку.) C++
C++ Переделать функцию c указателем на int, на функцию с указателем на void
Что общего между именем массива и указателем? C++
C++ Объясните разницу между указателем и ссылкой
Ошибка при работе с указателем на указатель C++
Указатель: Получить значение по адресу, указываемому указателем C++
Медленнее ли индексация массива, чем работа с указателем? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KasyanDiGris
0 / 0 / 1
Регистрация: 10.04.2014
Сообщений: 9
10.04.2014, 23:17     В чем разница между указателем и указателем на указатель? #2
Да, в первом q присваивается адрес, который сейчас в p (&x)

Ну во втором коде ты сможешь через q еще и p менять
Если это нужно, то конечно второй код лучше
А так, на мой взгляд, первый менее вычурный
Fulcrum_013
648 / 716 / 72
Регистрация: 14.12.2014
Сообщений: 5,629
Завершенные тесты: 3
20.04.2015, 22:14     В чем разница между указателем и указателем на указатель? #3
Цитата Сообщение от Gygocopter Посмотреть сообщение
Что лучше использовать?
То что надо в данном конкретном случае. К примеру просто указатель может на массив указывать а не просто на элемент. А двойной соответственно на массив указателей, т.е на двумерный массив, причем с неравными длинами массивов-элементов. Если надо передать указатель на какое либо значение то передаешь просто указатель. например одномерный массив в функцию. А если нужно что то с самим указателем сделать (например передать указатель на одномерный массив в фунцию которая под него примеру память выделит и инициализирует начальными значениями) то нужно передавать двойной, чтобы само значение указателя в результате работы фунуции изменилось.

Добавлено через 6 минут
Цитата Сообщение от Gygocopter Посмотреть сообщение
C++
1
2
3
4
5
int x, *p, *q;
x=10;
p=&x;
q=p;
cout<<*q;
На самом деле это немножко для другого предназначено например:
C++
1
2
3
4
 int x=10, *q;
        q=&x;
       *q*=2;
        cout<<x;
что отпечатает?
Yandex
Объявления
20.04.2015, 22:14     В чем разница между указателем и указателем на указатель?
Ответ Создать тему
Опции темы

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