Язык Си для начинающих / #6 - Функции в Си

Поділитися
Вставка
  • Опубліковано 20 кві 2020
  • Функции являются небольшими подпрограммами внутри вашей программы. За счёт функций можно вынести повторяющийся код в одно место и далее к нему обращаться. За урок мы научимся работать с функциями в Си.
    1) Урок на сайте itProger: itproger.com/course/c-program...
    ✔ Сообщество программистов: itproger.com/
    ✔ -------------
    Вступай в группу Вк - prog_life 🚀
    Группа FaceBook - goo.gl/XW0aaP
    Инстаграм itProger: / itproger_official
    Instagram: / gosha_dudar
    Telegram: t.me/itProger_official
    Twitter - / goshadudar
    - Уроки от #GoshaDudar 👨🏼‍💻
    - Все уроки по хештегу #goshaLessons

КОМЕНТАРІ • 92

  • @vitaly3630
    @vitaly3630 3 роки тому +25

    Божечки, как же я хорош! Уже 6 урок!

  • @vanjabagdasaryan2160
    @vanjabagdasaryan2160 2 роки тому +20

    ГОША ПАРАЛЛЕЛЬНО СМОТРЕЛ НЕСКОЛЬКО КУРСОВ. ТАК ТЫ ЕДИНСТВЕННЫЙ КТО СУМЕЛ ОБЪЯСНИТЬ КАКОГО ЧЕРТА НУЖНО ОТДЕЛЬНО ОБЪЯВЛЕНИЕ-ПРОТОТИП И ОПРЕДЕЛЕНИЕ. КОРОЧЕ МОЛОДЕЦ. НРАВИТСЯ ПРАКТИЧЕСКИ ВСЕ.

  • @pavelsterkhov8055
    @pavelsterkhov8055 4 роки тому +29

    Дай бог тебе здоровья мил человек!!! Наконец-то дошло до меня как работают функциию Спасибо

  • @mihail8159
    @mihail8159 3 місяці тому +1

    Спасибо , немного изменил и вставил scanf и возведение в куб,но благодаря тебе начал понимать для чего прототипы ❤❤❤❤

  • @user-bh4ql2jk4j
    @user-bh4ql2jk4j 3 роки тому +7

    Спасибо тебе! Всё досконально, по полочкам в голове разложилось. Автор, красава, удачи тебе!

  • @Ren_Kuto
    @Ren_Kuto 6 місяців тому +1

    Спустя много лет наконец понял, что значить возвращать значение функции

  • @tup1sh
    @tup1sh 2 роки тому +2

    Очень подробно и легко для восприятия! Красава, спасибо!

  • @mihail8159
    @mihail8159 3 місяці тому

    Такие видео спасают очень сильно, этим людям над огромный поклон и миллион лайков...❤❤❤

  • @user-nf2le9oe3e
    @user-nf2le9oe3e 3 роки тому +2

    очень классно, понятно и быстро, спасибо!!!

  • @fantomcap2805
    @fantomcap2805 2 роки тому +5

    Бро, лучший. Я сейчас поступил в институт, писец как нужны были уроки по Си, нам со 2 или 3 пары(я болел) задали сделать лабораторку, на мою участь выпала задача с поиском периметра треугольника, если известны координаты его вершин. Так вот чтобы код красивее сделать, я даже пытался функции юзать в др. файле. Там свои приколы почему я пытался так сделать...

  • @betep3526
    @betep3526 2 роки тому +23

    Вставлю свои пять копеек, но не в укор замечательному автору. Ведь уроки действительно очень полезны для новичков.
    И так, пять копеек:
    При написании: char word[] = { 's', 'o', 'm', 'e'}; В консоли отладки (на Windows), и хз ещё где, при выводе массива могут полезть разные символы после слова some.
    Использую Visual Studio 2019 (фиолетовый, ну или кому-то розовый).
    Это обусловлено тем, что в языке Си, строка это последовательность символов оканчивающаяся null-символом '\0'
    То есть, более правильно будет написать:
    char word[] = { 's', 'o', 'm', 'e', '\0'};
    Тогда, при выводе в ранее озвученной консоли, не будет никаких лишних символов после заданного слова, состоящего из букв хранящихся в массиве. В данном случае some.
    А за уроки спасибо!

    • @v.shinoxy
      @v.shinoxy Рік тому

      Полностью согласна! Столкнулась с этой проблемой в начале изучения С, всю голову сломала, не понимая, что не так. Благо подсказали =)

    • @betep3526
      @betep3526 Рік тому +4

      @@v.shinoxy Вообще, лучше использовать переменные адресного типа данных, типа char* my_var; для хранения массивов текста. А память для них выделять через malloc() , например, на 1000 символов my_var = malloc(100 * sizeof(char));
      Потом проверяем через _msize сколько выделилось.
      Или хотя бы через if(my_var != NULL) {.....

    • @stanisluk
      @stanisluk Рік тому

      genius!!))

  • @user-vb1xw8sg4o
    @user-vb1xw8sg4o 3 роки тому +2

    Спасибо, очень понятно и наглядно

  • @mihail8159
    @mihail8159 3 місяці тому

    Гоша, продолжай делать видео, у тебя талант ,будем смотреть и ставить лайки ❤❤❤❤

  • @AntiChrist5179
    @AntiChrist5179 Рік тому +1

    твои видео помогли подготовится к экзу по CS. c меня подписка

  • @maxk3772
    @maxk3772 3 роки тому +1

    Просто лучший , лучшиииииииий!!! Спасибо)

  • @dmitriyelistratov8879
    @dmitriyelistratov8879 11 місяців тому

    Красава, такие видео очень полезные

  • @vl7061
    @vl7061 Рік тому

    Гоша красава 👍

  • @tiredjacob
    @tiredjacob 7 місяців тому

    Пока что самый мозговыносящий в хорошем смысле урок. Ваще круть

  • @bilolnorqobilov5396
    @bilolnorqobilov5396 Рік тому

    все понял спасибо большое

  • @andreipopov2700
    @andreipopov2700 2 роки тому

    Super!

  • @yuriybaranovskiy9642
    @yuriybaranovskiy9642 3 роки тому +3

    В codeblocks все работает прекрасно-заголовочный отдельно,main отдельно.Когда же беру скомпилированный exe-шник ,то выводяться только сообщения из main куска,а из функции ,которую я вызываю в заголовочном файле ничего не выводиться-программа прекращает работу.

  • @user-jq2qz6ky9m
    @user-jq2qz6ky9m 4 роки тому +3

    Очень понятный и доступный курс, спасибо)

  • @user-hw6xr8xx9m
    @user-hw6xr8xx9m 11 місяців тому +1

    Ну реально годно) У других не поняла, а здесь всë резко стало на свои места

    • @Sakair1
      @Sakair1 11 місяців тому

      а зачем ты учишь си? Просто мне интересно.

  • @user-rl3rc6qq6y
    @user-rl3rc6qq6y 2 роки тому

    Коммент и лайк.

  • @user-jt5ds8bl4d
    @user-jt5ds8bl4d День тому

    Ничего не понятно но очень интересно

  • @yoimsadox7424
    @yoimsadox7424 7 місяців тому

    какой используешь редактор кода?

  • @pumba_boom9943
    @pumba_boom9943 3 роки тому

    Здравствуйте, как называется среда разработки в которой вы записываете видео уроки?

    • @user-hv7zo2lo4s
      @user-hv7zo2lo4s 2 роки тому

      Xcode (есть только на устройствах Apple)

  • @undefined422
    @undefined422 2 роки тому +1

    Как вернуть строку? То есть как должна выглядеть функция, которая заканчивается на result "Hello world!"; к примеру. Спасибо!

    • @user-yi3ho3hs8c
      @user-yi3ho3hs8c 2 роки тому

      Void example () { printf (...); } - это доп. функция, потом в main вызываешь - example ();

  • @DennimiCode
    @DennimiCode 3 роки тому +1

    Такой вопрос, можно ли в C передавать в функции, параметры разных типов данных ?

  • @jeckkaban
    @jeckkaban 7 місяців тому

    сегодня смотрел ваше это видео, во второй части стало всё бегом и спутанно, а на последней паре минут вообще каша... думаю что нужно учиться с примеров, а не с теории, иду их искать

  • @user-gk4pk1rn5c
    @user-gk4pk1rn5c 4 роки тому

    Подскажите, что за язык программирования в котором присваивания значений переменным происходит с помощью знака "стрелочка"? Просто читаю книгу "Теоретический минимум по Computer Science" и н могу понять, что за программы там.

  • @irakligagnidze5200
    @irakligagnidze5200 2 роки тому +1

    а почему нет уроков по языку C после девятого урока

  • @user-js2iq7yc3k
    @user-js2iq7yc3k 2 роки тому

    Підписалося 777 тис. користувачів топ
    число

  • @vasylsverhun9690
    @vasylsverhun9690 4 роки тому

    а мне пишет когда я хочу скачать unity то пишет што оборот или объем не перевышает 100 000д а ето значит што внутришное покупки не перевышает 100 000д да или нет

  • @kirill2003_yt
    @kirill2003_yt 2 роки тому

    А в CodeBlocks можно ли создавать заголовочные файлы внутри проекта? Я не могу найти кнопку "New File" о_0

    • @j2k-videos
      @j2k-videos 2 роки тому

      (file>new>new file) or (ctrl + shift + n) там вообще 1000 и 1 способ создать файл

    • @kirill2003_yt
      @kirill2003_yt 2 роки тому

      @@j2k-videos благодарю

    • @j2k-videos
      @j2k-videos 2 роки тому

      @@kirill2003_yt изучаете си?

  • @vhsdata
    @vhsdata 4 роки тому

    Гоша а вы можете сделать урок по (Gama Maker 2) по вопросам? Которые я задам пожее?

  • @1e50k3
    @1e50k3 3 місяці тому

    Привет , на коде как на 14:44 минуте, у меня выдавало 2 ошибки на строке string("Привет");
    Ошибка (активно) E0167 аргумент типа "const char *" несовместим с параметром типа "char *"
    Ошибка C2664 "void string(char [])": невозможно преобразовать аргумент 1 из "const char [13]" в "char []"
    Ошибка не прошла пока я не поменял char на const char. с чем это всязано? Работаю на Visual Stusio :/

    • @1e50k3
      @1e50k3 3 місяці тому

      И еще у меня странный результат выдает в консоли
      Результат: 70
      Результат: 12
      Привет
      some-rh
      результат: 35.10
      35.10

  • @rendermanpro
    @rendermanpro 4 роки тому +1

    Кто хочет изучать Си, найдите старый курс Thomson *NetG* (не удивляйтесь маленькому размеру). Это просто лучший курс из всего вообще что встречал лет за 20. Очень хорошо и понятно всё рассказано (не сложно или не для дебилов упрощённо, а то что надо), фундаментально. Сложно будет найти, но он реально супер. Запускать придётся через vmware, с виндой10 не запустится.... Ну и Гоше спасибо за труды.

    • @user-jn3vm1rz4z
      @user-jn3vm1rz4z 4 роки тому +1

      Че то не могу ссылку найти скинь пж

    • @user-hl7ze9gn1z
      @user-hl7ze9gn1z Рік тому

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

  • @user-rs9xb8nk5k
    @user-rs9xb8nk5k 6 днів тому

    Неделю пытаюсь разобраться с этими функциями- все " объясняльщики" нехрена не могут нормально объяснить.этот вроде начал хорошо,но потом закидал материалом,что отбило желание в чем- либо разбираться...

  • @ilyuhagg8546
    @ilyuhagg8546 9 місяців тому

    Вы можете мне объяснить: куда что возвращается? Зачем что-то возвращать.

  • @eandrewk
    @eandrewk 4 роки тому

    👍🏻

  • @damirt6427
    @damirt6427 4 роки тому +1

    *Первый!)))*

  • @user-jn7ev3qs9e
    @user-jn7ev3qs9e 3 роки тому +1

    Кто может объяснить, что значит возвратить число?

    • @Trouble4ever998
      @Trouble4ever998 3 роки тому +2

      Сделать так, чтобы это число ты смог "отправить" в функцию main. Гоша показывал:
      он вызывал функцию сразу в переменную ( 17:20 ), так переменная хранила результат работы функции

  • @missistihon1787
    @missistihon1787 3 роки тому +1

    Пишу в Visual Studio, выдавал ошибку до тех пор, пока char не поменял на const char.
    В чем может быть проблема?

    • @1nfoGames
      @1nfoGames 3 роки тому

      Быть может особенности различных компиляторов

    • @missistihon1787
      @missistihon1787 3 роки тому

      @@tv1nt838 перешла в CLion от JetBrains и никаких проблем:D

  • @beginend95
    @beginend95 4 роки тому +2

    // комментарий

  • @kirillusenko
    @kirillusenko 4 роки тому +2

    *_А по С#_* ?

    • @VladKochetov
      @VladKochetov 4 роки тому

      Кирилл Усенко по шарпам уже есть

  • @user-jn3vm1rz4z
    @user-jn3vm1rz4z 4 роки тому

    Почти всегда в си надо работать с преобразования типа указателей, и структур, заостри на этом следущие видео.

    • @juhikoinb1403
      @juhikoinb1403 4 роки тому

      Ну работу с указателями можно разбирать в течение как минимум 5 выпусков, ибо там очень много всяких тонкостей.

  • @cppprograms5868
    @cppprograms5868 4 роки тому

    Сиииии

  • @alexanderkavalscky4879
    @alexanderkavalscky4879 3 роки тому

    Почему пишиться sum(20,50); а не a=20; и b=50; ?

    • @1nfoGames
      @1nfoGames 3 роки тому +2

      Потому как a и b - просто числовые параметры в случае функции.
      Когда ты вызываешь ее в мейне, ты сам уже задаешь эти параметры, можешь задать их напрямую (sum(20,50)), а можешь задать их и через переменные, это не важно
      Например:
      ...
      float peremen1, peremen2;
      peremen1 = 20;
      peremen2 = 50;
      sum(peremen1, peremen2);
      Т.е. оба твоих варианта написания являются правильными. (Переменная хранит в себе какое-то значение)

  • @majach2222
    @majach2222 4 роки тому

    2:09 АРГУМЕНТЫ функция передаёт аргументи! А параметри передаются программе!!!

    • @Tezla0
      @Tezla0 4 роки тому

      Параметр = аргумент, в программировании это синонимы

    • @romkagm7756
      @romkagm7756 3 роки тому

      @@Tezla0 урыл

    • @AlfaTauri-fk6bs
      @AlfaTauri-fk6bs 8 місяців тому

      @@Tezla0 аргумент это то что ты передаешь какие то переменные или значения при вызове функции.Параметры это то какие значение передаются функции точнее их переменные

    • @Tezla0
      @Tezla0 8 місяців тому

      @@AlfaTauri-fk6bs сам понял что написал?

  • @NFOR
    @NFOR 4 роки тому +1

    а нах C если есть C++ ?!?!?

    • @pkowak
      @pkowak 4 роки тому

      А нах с++ если есть с# ?!?!?

    • @devvops9605
      @devvops9605 4 роки тому

      @@GrafDragonOF а нах Python если есть JavaScript?!?!?

    • @xuligan1469
      @xuligan1469 4 роки тому

      А нах JavaScript, когда есть Pascal

    • @xuligan1469
      @xuligan1469 4 роки тому +1

      А нах бинарный код, когда есть транзисторы?

    • @xuligan1469
      @xuligan1469 3 роки тому

      @@default2105 А нах радиолампы, если есть абак?

  • @user-cr2kb4pr9x
    @user-cr2kb4pr9x Рік тому

    хехе
    а потом начнуться аргументы в виде указателя на двойные массивы или структуры... и даже прототип аргумента типа указателя на функцию😁
    товарищи, си по ютубу изучить нельзя, слишком задр*тский язык

  • @user-lr9st7nz8x
    @user-lr9st7nz8x Рік тому

    Спасибо тебе! Всё досконально, по полочкам в голове разложилось. Автор, красава, удачи тебе!