Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Ryuk
179 / 177 / 56
Регистрация: 10.06.2011
Сообщений: 871
1

Указатели

09.11.2013, 23:47. Просмотров 248. Ответов 8
Метки нет (Все метки)

Почему такой вариант кода невозможен(конкретно: строка 6)?
C++
1
2
3
4
5
6
7
8
int indicator, x = 15, y = 10;
    int *ptr;
 
    cin >> indicator;
 
    indicator > 20 ? *ptr = &x : *ptr = &y;
 
    cout << *ptr * *ptr * *ptr << endl;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2013, 23:47
Ответы с готовыми решениями:

Указатели и указатели на указатели, а также типы данных
Недавно начал изучать Си, перешел с Delphi. Много непонятного и пока процесс идет медленно....

Через указатели на указатели посчитать сумму двух чисел и записать в третье
1. Через указатели на указатели посчитать сумму двух чисел и записать в третье. 2. Написать...

Указатели на указатели с числами. Почему можно присвоить число в 4-ый элемент, если массив из 2 элементов?
Есть массив int **mas; mas=new int*; // выделил место под пять строк, верно ? mas=new int;//...

Есть три переменные. Используя указатели на указатели, поменять значение максимальной и минимальной переменной
Мой код. #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include&lt;iomanip&gt; using namespace std; ...

Отсортировать массив и вывести на экран (массивы и указатели на указатели)
Даны массивы F-фамилий студентов и S-результаты сессии (5 оценок) , причем s- результат сессии F...

8
ct0r
Игогошка!
1789 / 690 / 44
Регистрация: 19.08.2012
Сообщений: 1,340
Завершенные тесты: 1
09.11.2013, 23:55 2
Тернарный оператор не так используется.
И вообще там в присваивании типы разные.
0
Ryuk
179 / 177 / 56
Регистрация: 10.06.2011
Сообщений: 871
09.11.2013, 23:56  [ТС] 3
ct0r, я даже с if'ом не могу такие шаги выполнять.
Цитата Сообщение от ct0r Посмотреть сообщение
в присваивании типы разные
int
0
Kuzia domovenok
2330 / 2075 / 484
Регистрация: 25.03.2012
Сообщений: 7,417
Записей в блоге: 1
09.11.2013, 23:58 4
Во-первых, потому что *ptr это не сам указатель, а значение, на которое он указывает. Во-вторых, корректнее использовать тернарный оператор так:
C++
1
ptr=indicator>20 ? &x : &y;
1
ct0r
Игогошка!
1789 / 690 / 44
Регистрация: 19.08.2012
Сообщений: 1,340
Завершенные тесты: 1
10.11.2013, 00:01 5
Цитата Сообщение от Ryuk Посмотреть сообщение
int
там int и int*, очевидно же
0
nokados
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
10.11.2013, 00:01 6
Ты делаешь указатель на адрес памяти.
можно делать так:
C++
1
ptr = &x;
, если х менять не собираешься
Но лучше
C++
1
*ptr = x;
Если тебе нужен именно адрес, то возможно сработает двойной указатель (но я хз, ибо сам такое ни разу не использовал)
C++
1
2
int **ptr;
*ptr = &x
0
Ryuk
179 / 177 / 56
Регистрация: 10.06.2011
Сообщений: 871
10.11.2013, 00:01  [ТС] 7
Kuzia domovenok, я пытаюсь понять указатели. Вот что надумал: указатели позволяют творить нам такую фигню, чтобы функцию можно было использовать для различных аргументов или нет? И по поводу работы с памятью, мы выделяем кусок память и тем самым делаем как бы большой массив, в котором все элементы идут по порядку?
0
nokados
27 / 27 / 9
Регистрация: 30.04.2012
Сообщений: 132
10.11.2013, 00:06 8
C++
1
*ptr = &x
Может использоваться при создании ptr, то есть так:
C++
1
int* ptr=indicator>20 ? &x : &y;
Добавлено через 2 минуты
Цитата Сообщение от Ryuk Посмотреть сообщение
я пытаюсь понять указатели
Могу посоветовать посмотреть эти уроки. Сразу становится все ясно да понятно.
Начиная с этого и еще 2 следующих
2
Ryuk
179 / 177 / 56
Регистрация: 10.06.2011
Сообщений: 871
10.11.2013, 00:17  [ТС] 9
nokados, спасибо большое. Когда-то видел эти уроки, но отнесся к ним скептически.
0
10.11.2013, 00:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2013, 00:17

Указатели на слонов или А зачем нужны указатели?
Знаю что таких вопросов было уйма, но я так и не нашел ответа на свой вопрос. Для чего нужны...

Написать программу сортировки через указатели на указатели
Вот моя программа #include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;string&gt; using namespace...

Используются ли на практике указатели на указатели объектов?
Имеются ввиду указатели именно на объекты, а не динамические массивы. Например такой: Object**...


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

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

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