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

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

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

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

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

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


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

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

Не могу понять зачем нужны указатели? - C++
Не как не могу понять зачем нужны указатели. Я знаю что их надо использовать для выделения памяти, но раньше я и без них обходился

Объясните, пожалуйста, зачем в C++ нужны указатели - C++
Никак что-то не пойму, зачем в C++ указатели? Ведь можно спокойно программировать без них.

Зачем здесь нужен static - C++
Дело в том что без него (без static) программка не работает корректно.

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить? - C++
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может...

Ссылки и указатели: зачем все это? - C++
Здравствуйте форумчане. Кому не лень, могли бы мне доступно объяснить, для чего в С++ все так усложнять? Я про указатели, ссылки, взятие...

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

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

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

да и вот точно такие же задания Через указатели на указатели посчитать сумму двух чисел и записать в третье
Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
22.02.2012, 20:53  [ТС]     Зачем здесь нужны указатели #4
soon,
Jupiter,
спасибо огромное, что не пропустили мой вопрос. Не понимаю тему про указатели. А тем более в этих заданиях. Я понимаю. что указатели укажут на переменные, понимаю, что нужно научиться работать с ними. Но на мой взгляд здесь указатели нужны как собаке пятая лапа. А оптимальность в моем понимании меньше ресурсов использовать и решать самым простым и коротким способом. Моя фраза насчет оптимальности подразумевала - а действительно ли такое решение лучшее? Ведь я эти задачи быстрее, без заморочек решу без указателей. Вот и встает у меня вопрос : зачем они здесь нужны? (Доказательств хочется, что не просто надо голову напрячь.)
А по ссылке сходила, хочу разобраться в коде. Может, после этого меня осенит, зачем сюда указатели приписали. (Слава Богу, что решать это задание не надо!!!)
soon
2538 / 1303 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 21:01     Зачем здесь нужны указатели #5
Командир сказал-разгружать Люминий- значит-Люминий. а которые шибко грамотные - пойдут чуген грузить
На маленьких заданиях быстрее всего отработать что-либо(в данном случае указатели).
Devochka
31 / 19 / 1
Регистрация: 07.10.2011
Сообщений: 98
22.02.2012, 21:11  [ТС]     Зачем здесь нужны указатели #6
)))) Не чуген - а ЧАВУНИЙ!!! ))))
Согласна о маленьких заданиях, но здесь вообще не понимаю роль и значение указателей. В данном конкретном примере. По ссылке посмотрела коды, но я могу тоже самое и без всяких указателей. Поняла, зачем в массиве и в функции указатели нужны. Зачем мне чтобы решить 2+2 высшая математика? Короче, я своевольная дура, которая знает и уверена, что там указатели не нужны, чтоэто только захламление своей головы и кода!
soon
2538 / 1303 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
22.02.2012, 21:19     Зачем здесь нужны указатели #7
Devochka, ну я даже не знаю, какую можно аналогию провести. Это просто тренировка. Нужно понять, как работать с указателями(какую роль выполняет звездочка в следующих примерах int* p и *p = a, ну и т.д.), чтобы при написании больших программ не было заминок с этим.
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++
Привет всем) Собственно такой вопрос: зачем нужны хэш контейнеры? В чем разница между стандартными контейнерами STL? Эффективность и тд? ...

Зачем нужны header-файлы - C++
Здравствуйте хотелось бы узнать ,в чем заключается смысл этих самых header файлов ?

Зачем нужны классы и структуры? - C++
1. Зачем нужны классы? 2. Зачем нужны аргументы в main()? 3. Зачем нужны структуры. struct *имя*{}?

Зачем нужны модификаторы типов? - C++
Читаю Шилдта и все более менее понятно,но насчет unsigned , signed , shot , long что то вообще дыра в понимании и их пропускал,а потом...


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

Или воспользуйтесь поиском по форуму:
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
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     Зачем здесь нужны указатели
Ответ Создать тему
Опции темы

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