#41. Оператор return. Вызов функций в аргументах | Язык C для начинающих

Поделиться
HTML-код
  • Опубликовано: 22 май 2023
  • Практический курс по C/C++: stepik.org/course/193691/
    Телеграм-канал: t.me/java_and_c
    Инфо-сайт: proproprogs.ru/c_base
    Оператор return для формирования возвращаемого значения функции и ее завершения. Порядок и особенности вызова функций в аргументах.

Комментарии • 24

  • @vladimirastrelin1719
    @vladimirastrelin1719 Год назад +2

    Глас Разума...Спасибо огромное, шикарный урок !

  • @trimo1120
    @trimo1120 6 месяцев назад +2

    Хороший видеоурок, спасибо!

  • @olegkomlev
    @olegkomlev 4 месяца назад +1

    По поводу параметров функции. Действительно, нужно все данные, с которыми работает функция, стараться передавать ей в параметрах, а не через глобальные сущности. Но иногда удобнее использовать глобальные константы. Например, если все вычисления в программе должны идти с определенной точностью, можно в каждой такой функции иметь параметр, задающий эту точность. Но если точность везде одинакова, то лучше завести глобальную константу, задающую такую точность, а во всех функциях использовать эту константу, а не параметр. Глобальные сущности принято называть длинным осмысленным именем, лучше заглавными буквами, чтобы подчеркнуть ее глобальную роль. Например, EPS или даже DEFAULT_EPS.
    Другой пример. Например, имеем программу, в которой есть игровое поле - скажем, двумерный массив символов. Одна функция это поле очищает, другая на поле что-то расставляет, третья что-то ищет, отдельная функция выводит поле на экран и т.д. Но если это игровое поле только одно во всей программе, то можно исключить его из параметров и сделать обращение из всех функций глобально. При этом следует назвать этот массив длинным осмысленным именем, например BOARD или GAME_BOARD. Но если есть несколько таких полей - например, нескольких игроков, то при использовании глобальных переменных пришлось бы выполнять присваивание массива глобальной переменной перед вызовом функции и присваивание результата после. Ясно, что тогда лучше передавать поле, с которым в данный момент работает вызываемая функция, в качестве параметра этой функции.

  • @andredru4278
    @andredru4278 5 месяцев назад +2

    Спасибо. Великолепно!

  • @jamjam3337
    @jamjam3337 Год назад +2

    спасибо!💪👍👏

  • @user-xm5zl9up4r
    @user-xm5zl9up4r 5 месяцев назад +2

    Спасибо

  • @user-iy5kd3tz3d
    @user-iy5kd3tz3d 8 месяцев назад +2

    Можно еще так сократить:
    double sq4_x(double x)
    {
    return x < 0 ? NAN : pow(x, 0.25);
    }

  • @serezhanepochatykh6065
    @serezhanepochatykh6065 Год назад +1

    Сергей, добрый день. А вы не хотели бы добавить в плейлист по C++ то, что выходит из тем за рамки базовых концепций? Например, новые фишки в последнем стандарте C++? Или вообще что есть такого в каждом стандарте, чего нет в предыдущем, начиная с C++11? Также, например, вариативные шаблоны и где их использовать можно в проектах, работе?

  • @user-zb4hz5rt3s
    @user-zb4hz5rt3s Год назад +2

    Благодарю! Очень годный контент и стиль! Сереж, а не планируете уроки по SQL?

    • @selfedu_rus
      @selfedu_rus  Год назад

      Спасибо! Уже есть: ruclips.net/video/TwnCXdCa8qg/видео.html

  • @user-it3yo1sn6i
    @user-it3yo1sn6i Год назад +4

    Спасибо! Очень нравится ваш стиль преподавания и подачи материала. Интересно у вас нет своих книг?
    Я бы с удовольствием купил "Изучаем Python. Балакирев С." или "Изучаем C. Балакирев С."

    • @selfedu_rus
      @selfedu_rus  Год назад +3

      Спасибо! Есть текстовые варианты видео proproprogs.ru

    • @user-it3yo1sn6i
      @user-it3yo1sn6i Год назад

      @@selfedu_rus Да, конечно я читаю ваш сайт и материалы на нём. Он закреплен у меня среди 10-ти достойнейших ресурсов на панели в Хроме.

    • @vladimirastrelin1719
      @vladimirastrelin1719 Год назад +2

      Спасибо за правильный вопрос. Нашел для себя сайт Сергея, понял что это очередная великолепная находка

    • @user-it3yo1sn6i
      @user-it3yo1sn6i Год назад

      @@vladimirastrelin1719 100%

  • @trimo1120
    @trimo1120 6 месяцев назад +1

    void print_even_x(int x)
    {
    return (x & 1) ? void : printf("x = %d
    ", x); // Битовые операции (люблю их)
    }

  • @user-jw3ec7cl7j
    @user-jw3ec7cl7j 5 месяцев назад +1

    Прошу вас уточнить, как функция возвращает не вещественное число, а символы NAN?

    • @selfedu_rus
      @selfedu_rus  5 месяцев назад

      Символы NAN мы видим на экране, а соответствуют они определенным образом закодированным битам вещественного числа. Каким именно, нужно почитать. Никогда не интересовался ))

  • @Tiranitos
    @Tiranitos Год назад +1

    Спасибо за уроки. На мой взгляд слишком замудренные вы используете примеры в теле функций. 4-я степень и т.п.

  • @renigat_tv9051
    @renigat_tv9051 10 месяцев назад +1

    Давайте лайки до 100 догоним

  • @user-db8hs3me7n
    @user-db8hs3me7n 5 месяцев назад +1

    а вот и не совсем так у меня при префиксной операции инкремента всегда х принимает уже увеличенное значение не один а два (((.

    • @selfedu_rus
      @selfedu_rus  5 месяцев назад

      я здесь лишь привожу пример, а ранее оговаривал, что такое поведение относится к неопределенному, т.к. стандартном языка не оговорено

    • @user-db8hs3me7n
      @user-db8hs3me7n 5 месяцев назад

      @@selfedu_rus да я понимаю это, скорее всего это особенность компилятора .