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

Зачем здесь нужны указатели - C++

Восстановить пароль Регистрация
 
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
22.02.2012, 18:52     Зачем здесь нужны указатели #1
1. Через указатели на указатели посчитать сумму двух чисел и записать в третье.
2. Написать примитивный калькулятор, пользуясь только указателями.
3. Найти факториал числа, пользуясь только указателями.
4. Найти заданную степень числа, пользуясь только указателями.
5. Произвести, используя указатель на указатель проверку на нуль при делении


Прошу объяснить, зачем здесь нужны указатели, на что они должны указывать и неужели оптимальным будет решение через указатели???
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 18:56     Зачем здесь нужны указатели #2
Цитата Сообщение от Devochka Посмотреть сообщение
зачем здесь нужны указатели
Чтобы учиться работать с указателями.

Цитата Сообщение от Devochka Посмотреть сообщение
на что они должны указывать
На переменные
Jupiter
Каратель
Эксперт C++
6543 / 3963 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
22.02.2012, 18:57     Зачем здесь нужны указатели #3
Цитата Сообщение от Devochka Посмотреть сообщение
зачем здесь нужны указатели
очевидно же - получить навыки работы с указателями

Цитата Сообщение от Devochka Посмотреть сообщение
неужели оптимальным будет решение через указатели
ну смотря что понимать под оптимальностью

да и вот точно такие же задания Через указатели на указатели посчитать сумму двух чисел и записать в третье
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
22.02.2012, 20:53  [ТС]     Зачем здесь нужны указатели #4
soon,
Jupiter,
спасибо огромное, что не пропустили мой вопрос. Не понимаю тему про указатели. А тем более в этих заданиях. Я понимаю. что указатели укажут на переменные, понимаю, что нужно научиться работать с ними. Но на мой взгляд здесь указатели нужны как собаке пятая лапа. А оптимальность в моем понимании меньше ресурсов использовать и решать самым простым и коротким способом. Моя фраза насчет оптимальности подразумевала - а действительно ли такое решение лучшее? Ведь я эти задачи быстрее, без заморочек решу без указателей. Вот и встает у меня вопрос : зачем они здесь нужны? (Доказательств хочется, что не просто надо голову напрячь.)
А по ссылке сходила, хочу разобраться в коде. Может, после этого меня осенит, зачем сюда указатели приписали. (Слава Богу, что решать это задание не надо!!!)
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 21:01     Зачем здесь нужны указатели #5
Командир сказал-разгружать Люминий- значит-Люминий. а которые шибко грамотные - пойдут чуген грузить
На маленьких заданиях быстрее всего отработать что-либо(в данном случае указатели).
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
22.02.2012, 21:11  [ТС]     Зачем здесь нужны указатели #6
)))) Не чуген - а ЧАВУНИЙ!!! ))))
Согласна о маленьких заданиях, но здесь вообще не понимаю роль и значение указателей. В данном конкретном примере. По ссылке посмотрела коды, но я могу тоже самое и без всяких указателей. Поняла, зачем в массиве и в функции указатели нужны. Зачем мне чтобы решить 2+2 высшая математика? Короче, я своевольная дура, которая знает и уверена, что там указатели не нужны, чтоэто только захламление своей головы и кода!
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 21:19     Зачем здесь нужны указатели #7
Devochka, ну я даже не знаю, какую можно аналогию провести. Это просто тренировка. Нужно понять, как работать с указателями(какую роль выполняет звездочка в следующих примерах int* p и *p = a, ну и т.д.), чтобы при написании больших программ не было заминок с этим.
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
22.02.2012, 21:27  [ТС]     Зачем здесь нужны указатели #8
soon, я саму тему не понимаю про указатели. Поняла с массивами, потому что так их легче менять (хотя можно и статически). Поняла с функциями, потому что так можно вызывать их много раз в любых местах (хотя можно и без указателей). Но здесь не пойму причину применения. Надо не только научить гранату бросать, но и сразу научить делать это правильно. где-то так)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.06.2012, 03:39     Зачем здесь нужны указатели
Еще ссылки по теме:

C++ зачем нужны итераторы?
C++ Зачем нужны указатели?
C++ Для чего нужны и зачем использовать smart-указатели?

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

Или воспользуйтесь поиском по форуму:
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
24.06.2012, 03:39     Зачем здесь нужны указатели #9
Цитата Сообщение от Devochka Посмотреть сообщение
я саму тему не понимаю про указатели.
Указатели часто нужны при работе с массивами и структурами. Раз уж разобрались с функциями, наверняка представляете, что указатель - практически единственный способ передать массив на обработку в функцию. Структуру, конечно, можно было бы передавать и по значению, но это в большинстве случаев очень неэффективно, а то и просто неприемлимо. К примеру
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define STR_LEN 256
typedef struct PERSON {
    char first_name[STR_LEN];
    char second_name[STR_LEN];
} person_t;
 
/* В функцию передаётся 4(8) байтовый указатель на 32(64) битной системе. */
void good_dump(const person_t * person) {
    printf("%s %s\n", person->first_name, person->second_name);
}
 
 
/* Так тоже можно, но в функцию будут отправлены все аж 512 байт, что точно не ускорит работу */
void bad_dump(person_t person) {
    printf("%s %s\n", person.first_name, person.second_name);
}
Пример, конечно, утрированный, но думаю, суть отражает.


Цитата Сообщение от Devochka Посмотреть сообщение
Но здесь не пойму причину применения.
А вот это, честно говоря, и для меня загадка. Какой профит можно получить при сложении двух чисел, используя указатели на указатели на переменные с этими числами? Может я чего-то не понимаю, но для обучения работе с указателями можно было гораздо более наглядные и жизненные примеры придумать...
Yandex
Объявления
24.06.2012, 03:39     Зачем здесь нужны указатели
Ответ Создать тему
Опции темы

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