5. Язык Си: как разделить код на модули

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ธ.ค. 2024

ความคิดเห็น • 14

  • @shpakovskii
    @shpakovskii ปีที่แล้ว +2

    Самое понятное объяснение, несмотря на малое количество просмотров этого видео. Спасибо!

  • @aminyovlo1825
    @aminyovlo1825 4 หลายเดือนก่อน

    Помогите пж
    У меня появляется 3 error: первые два о неидентифицированных hello и battle, а 3 о
    linker command failed with exit code 1 (use -v to see invocation)

  • @mr.madness4968
    @mr.madness4968 ปีที่แล้ว

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

  • @КириллГусарев-р5х
    @КириллГусарев-р5х 2 หลายเดือนก่อน

    6:40 - это не "определение", а объявление функции

  • @mr.madness4968
    @mr.madness4968 ปีที่แล้ว

    Что делать если shortcuts.xml не меняется сколько бы я не добавил биндов запуска, я переписал код на запуск main как на видео, за исключением пути, но все четно, на ide не особо хочется переползать, помогите пожалуйста. Заранее благодарен.

  • @AlexLipkovich
    @AlexLipkovich 5 หลายเดือนก่อน

    мой ИИ состоит из 10 тыс строк, штук 20 функций и всё на одной странице одним файлом)

  • @LLCUNIT
    @LLCUNIT ปีที่แล้ว +1

    Почему при вводе ника показывает только первые 3 буквы?

    • @MSG_Trick
      @MSG_Trick ปีที่แล้ว

      Аналогично. После вынесения этй функции в отдельный файл почему-то некорректно отрабатывает sizeof(player_nickname) в функции fgets. Пришлось создать в файле main.c переменную int player_nickname_len = 8; и передать ее в функцию hello, т.е. выглядеть она стала так: int hello(char *player_nickname, int player_nickname_len), а fgets принял вид: fgets(player_nickname, player_nickname_len, stdin). Скорее всего, это костыль, интересно было бы узнать как эта проблема решается по-нормальному. А, да, и массив имени теперь объявляется так: char player_nickname[player_nickname_len], чтоб 2 раза не вставать.

    • @velovo2988
      @velovo2988 ปีที่แล้ว

      @@MSG_Trick я исправил это так:
      при вызове функции hello() указать второй аргумент как размерность массива: hello(nickname,10);. И при определении функции написать уже hello(char * nickname,int n). И дальше как второй аргумент фукнции fgets() указать sizeof(nickname) * n, то есть fgets(nickname, sizeof(nickname) * n, stdin). После этого все работает.

    • @maximtopkin2578
      @maximtopkin2578 ปีที่แล้ว

      Дело в том, что в функцию передается указатель на массив символов, а не сам массив, а он как раз равен 4. Поэтому размер массива можно получить только до передачи указателя на него в функцию. Решение выше описали. Возможно просто переработали функцию fgets из-за соображений безопасности.

  • @omari_coleman3514
    @omari_coleman3514 9 หลายเดือนก่อน

    Теон Грейджой объясняет как разбить на модули проект:) Не хочу обидеть,но сильно похож

  • @ЮрийЕрмолов-к1м
    @ЮрийЕрмолов-к1м 2 ปีที่แล้ว

    топ
    😁

  • @LLCUNIT
    @LLCUNIT ปีที่แล้ว

    Да ты будто бы специально вводишь три буквы в ник нейм )))