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

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

Войти
Регистрация
Восстановить пароль
 
Devochka
 Аватар для Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
#1

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

22.02.2012, 18:52. Просмотров 782. Ответов 8
Метки нет (Все метки)

1. Через указатели на указатели посчитать сумму двух чисел и записать в третье.
2. Написать примитивный калькулятор, пользуясь только указателями.
3. Найти факториал числа, пользуясь только указателями.
4. Найти заданную степень числа, пользуясь только указателями.
5. Произвести, используя указатель на указатель проверку на нуль при делении


Прошу объяснить, зачем здесь нужны указатели, на что они должны указывать и неужели оптимальным будет решение через указатели???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.02.2012, 18:52     Зачем здесь нужны указатели
Посмотрите здесь:

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

Цитата Сообщение от Devochka Посмотреть сообщение
на что они должны указывать
На переменные
Jupiter
Каратель
Эксперт C++
6548 / 3968 / 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++ Для чего нужны и зачем использовать smart-указатели?
Зачем нужны исключения? C++
C++ Указатели на слонов или А зачем нужны указатели?
Зачем нужны указатели C++

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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
 Аватар для easybudda
9412 / 5435 / 917
Регистрация: 25.07.2009
Сообщений: 10,428
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:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru