2:00 В Си для мелочи-встройки или при очень строгих требованиях по быстродействию лучше переписать алгоритм под нативные для железки форматы данных, а сам язык позволяет удобно писать не выходя за рамки возможностей железа. 19:20 NULL - это не значение "ноль", это указатель (!!!) типа void, указывающий на нулевой адрес. При чтении такого указателя без разыменования будет считываться ноль, но тип такой "переменной" будет приводиться к типу, используемому в данной аппаратуре для указателей, как и при чтении любого другого указателя. В большинстве случаев это будет int. Но не всегда. ... В целом - жуть. Зашёл на заголовок про полиморфизм в Си, на деле тут вводная о том как написать макросы для реализации перегрузки в Си.
@@olgapavlova Обычно я его использовал, когда требовалось что-то разобрать на байты, или собрать обратно. Очень удобный инструмент при разборе, например, сетевых пакетов.
Я от не понимаю любителей С... ну ведь уже ж есть шаблоны в С++ :) Уже все изобрели и оттестировали. И виртуальность всякая есть. Нет, продолжают изобретать С++ в частных случаях.
@@olgapavlova Думаю, для линукса пропихнули. Я код ядра как-то глянул - случайный файл - и сразу увидел, как они там С++ /виртуальные функции изобретают. Зато все вручную, с "полным контролем". Я этого "контроля" наелся на МК-61 :))
Коммент в поддержку канала ❤❤❤
Мне прям очень^2 нравиться как Вы рассказываете.
С моей подпиской к Вам придёт много народа. Так держать!
30:25 Ещё хорошей практикой для макросов является использование конструкции do{}while(0)
2:00
В Си для мелочи-встройки или при очень строгих требованиях по быстродействию лучше переписать алгоритм под нативные для железки форматы данных, а сам язык позволяет удобно писать не выходя за рамки возможностей железа.
19:20
NULL - это не значение "ноль", это указатель (!!!) типа void, указывающий на нулевой адрес. При чтении такого указателя без разыменования будет считываться ноль, но тип такой "переменной" будет приводиться к типу, используемому в данной аппаратуре для указателей, как и при чтении любого другого указателя. В большинстве случаев это будет int. Но не всегда.
...
В целом - жуть. Зашёл на заголовок про полиморфизм в Си, на деле тут вводная о том как написать макросы для реализации перегрузки в Си.
опять питон🙃🪱🪱. Благодарю Вас, много нового узнал👍🤝
Ольга, а вы знате плюсы (C++)? Если да, то будут видео по нему?
Женщина в Си это конечно удивительно и интересно, если бы у меня был такой учитель информатики думаю я бы полюбил программирование ещё в школе
Удивительно - это слон в 3D-принтере :) А женщины - они где только не, чего б и не в Си.
Сейчас-то полюбили? Надеюсь, да!
А где можно посмотреть расписание будущих стримов?
Хорошая идея, спасибо. Вывешу в описание канала.
Ближайший - про ошибки как часть дизайна программы на C (Си).
@@olgapavlova это просто великолепно!
1:14:33 офигенный пример
Си прост, но нужно быть гением, чтобы понять его простоту.
И нужно быть PhD, чтобы понять, что там, где действительно нужна была простота, имеем...
"Зловещая пауза" (с) 😊
Кто понял, тот понял
Зачем это все чтобы напечатать одну строчку. Джависты: и это всё?
С таким применением union не согласен, а остальное - отлично.
А как вы его обычно используете?
@@olgapavlova Обычно я его использовал, когда требовалось что-то разобрать на байты, или собрать обратно. Очень удобный инструмент при разборе, например, сетевых пакетов.
То есть на Си надо написать целую библиотеку чтобы сделать аналог паскалевского WriteLn(); ?) Эх, отсталый язык!)
И не говорите! Дикие люди, дети гор :)
У нас есть WriteLn дома (printf)
Я от не понимаю любителей С... ну ведь уже ж есть шаблоны в С++ :) Уже все изобрели и оттестировали. И виртуальность всякая есть. Нет, продолжают изобретать С++ в частных случаях.
Насамперед це iграшка. Як на мене, дуже цикава.
@@olgapavlova Думаю, для линукса пропихнули. Я код ядра как-то глянул - случайный файл - и сразу увидел, как они там С++ /виртуальные функции изобретают. Зато все вручную, с "полным контролем". Я этого "контроля" наелся на МК-61 :))