Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 04.04.2019
Сообщений: 3

Зачем здесь указатель?

04.04.2019, 21:21. Показов 676. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Уважаемые, эксперты, объясните пожалуйста что конкретно происходит в этих строках кода. Не понимаю причину использования указателя.
C++
1
2
if (*fall > s.value2 - s.value1)
*fall = s.value2 - s.value1;

Контекст кода (на всякий).
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
float fall=0;
....
void Handle(char*in, float*fall, int * i) {
Str s;
    FILE* file = fopen(in, "a+");
    while (fscanf(file, "%s %s %f %f %f", &s.product, &s.unit, &s.value1, &s.value2, &s.value3) != EOF) {
        if (strcmp("тыс.тонн", s.unit) == 0)
            if (*fall > s.value2 - s.value1)
                *fall = s.value2 - s.value1;
        *i += 1;
    }
    fclose(file);
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.04.2019, 21:21
Ответы с готовыми решениями:

Расскажите, как здесь работает указатель на указатель?
#include "stdafx.h" #include <iostream> #include <locale.h> using namespace std; void main() { setlocale(LC_ALL, "rus"); ...

Зачем нужен указатель на указатель при работе с однонаправленным списком?
День добрый. Столкнулся с непониманием этой темы. В частности, совершенно непонятен алгоритм инициализации такого вот списка. Например:...

Реализация двоичных деревьев поиска: Зачем в параметрах функции используется указатель на указатель
Всем привет, встретил в книге такой пример добавления узла в дерево: typedef struct tree { int data; tree *left, *right,...

6
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
04.04.2019, 21:24
Цитата Сообщение от AndreySer Посмотреть сообщение
Не понимаю причину использования указателя.
наверно для того что бы передать результат работы функции.
0
0 / 0 / 0
Регистрация: 04.04.2019
Сообщений: 3
04.04.2019, 21:36  [ТС]
А без указателя этого сделать нельзя?
0
Злостный нарушитель
 Аватар для Verevkin
10339 / 5757 / 1269
Регистрация: 12.03.2015
Сообщений: 26,578
04.04.2019, 21:37
Цитата Сообщение от AndreySer Посмотреть сообщение
А без указателя этого сделать нельзя?
можно.
0
зомбяк
 Аватар для TRam_
1585 / 1219 / 345
Регистрация: 14.05.2017
Сообщений: 3,940
04.04.2019, 21:41
AndreySer, в С++ есть такой механизм передачи аргументов, как "передача по ссылке". Его можно использовать вместо передачи указателя. А вот в языке С такого механизма нет, там для модификации чего-то извне внутри функции нужно передавать в функцию указатель на это что-то.
0
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
04.04.2019, 23:01
Цитата Сообщение от AndreySer Посмотреть сообщение
Контекст кода (на всякий).
Цитата Сообщение от AndreySer Посмотреть сообщение
Не понимаю причину использования указателя.
Захотелось кому-то использовать, и использует. Может задание такое.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9006 / 4707 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
04.04.2019, 23:55
AndreySer, передача модифицируемого в функции объекта - тема холиварная. Б. Страуструп рекомендует использовать указатель, либо возвращать как return value. Но выбор за программистом. Вот это:
Цитата Сообщение от AndreySer Посмотреть сообщение
C++
1
if (*fall > s.value2 - s.value1)
Не шибко радостно.
-При передаче nullptr это плохо.
-сравнения float в случае, если *fall равно NAN не определено. Проверка на равенство NAN достаточно проста но её почти никто не делает:
C++
1
2
if(*fall != *fall) throw("shef, use propalo!");
//----all right
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2019, 23:55
Помогаю со студенческими работами здесь

Зачем использовать Указатель на указатель?
Подскажите зачем использовать Указатель на указатель? И как работают двумерные массивы за счет указателей?

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

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

Зачем здесь символ новой строки?
Стивен Прата, Язык программирования С++, глава 7, пример 7 Никак не пойму, зачем здесь double temp; int i; for(i=0;...

Объясните пожалуйста, в чем здесь дело(структура и указатель)
#include <iostream> #include <string> #include <windows.h> using namespace std; struct pizza { double diameter; ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru