Спасибо! Решил просто лекцию просмотреть про указатели в Си, но подача материала настолько увлекательна, что начал смотреть с самой первой лекции, даже не для того, чтобы узнать что-то новое, а просто из-за того, как это всё преподносится! Высший пилотаж!!!
@nickjonas82574 жыл бұрын
аналогично))
@AleksBojko3 жыл бұрын
Тоже решил посмотреть все с начала, хотя пока что ничего нового для меня, но рассказывает интересно, да и повторить не помешает.
@misha29932 жыл бұрын
Аахах у меня точно также. Начал с указателей и перешёл сюда
@juvusart2 жыл бұрын
@@misha2993 Указатели...они указывают)
@samirprostov5554 Жыл бұрын
+
@sanctuary_of_soul2 жыл бұрын
Я хотел найти курс молодого бойца военного, но в числе попался и этот курс. Очень доходчиво, с деталями, практически ничего не упускается из виду, по крайней мере важного. И подача происходит в частично вольной форме: есть и шутка, интонация, речевая динамика. В общем очень интересно слушать и, главное, поучительно! Спасибо!!!
@lalivirtei2 жыл бұрын
То чувство, когда хотел на контракт, а случайно стал программистом? Бывает, понимаю =)
@adwer1236 жыл бұрын
Тимофей, спасибо огромное за лекции !
@mrslavik21043 жыл бұрын
пол видео офигевал от происходящего, но в конце пришло озарение, понимание пришло)) Спасибо за крутые уроки по С)
@sergeismazheluk16625 жыл бұрын
спасибо огромное!!! лекции супер...по-чаще бы выходили лекции
@SAM-t6k7s4 жыл бұрын
Тимофей спосибо. Пока что в ютюбе самые понятные ролики по программированию это твои. Я изучаю СИ и подписан на твой канал .
@Brucelans3 жыл бұрын
Спасибо за видео! Заметил такую, может и логичную, закономерность - обучающие онлайн лекции действующих преподавателей ВУЗов, что иностранных, что отечественных в подавляющем большинстве случаев на голову превосходят своих иных онлайн собратьев не имеющих отношения к преподавательской деятельности. Видимо дело в опыте донесения знаний и системности подачи материала.
@ivanovsergiu85756 жыл бұрын
Тимофей Хирьянов Samyi lutsii prepodovateli, daje v Velikobritanii v univere nam tak ne prepodnosyat tak material. Maladets!
@bogdantymKOLUBO Жыл бұрын
Где именно не преподают?
@melangeshark5 жыл бұрын
Огромное спасибо за лекции!
@_RUDE_5 ай бұрын
Отличые лекции, спасибо вам большое 👍
@LLlblKAPHO2 жыл бұрын
это ошибку, а точнее андерфлоу, можно наблюдать в игре Цивилизация, там у Индии один из низких показателей воинственности (мирная цивилизация), а после изучения техи ядерного оружия, у всех наций снижается этот показатель. И у Индии он становится максимальным (мы щас про ботов говорим). В итоге Индия слетает с катушек и начинает всех бомбить ядерками. Очень весело
@horan4president2 ай бұрын
ого, даже не догадывалась, что в этом причина. емнип в героях каких-то тоже есть баг с величиной армий из-за целочисленного переполнения
@grom35 жыл бұрын
Потрясающе понятно и интересно
@Im_like_Merphy2 жыл бұрын
Классно, спасибо за подачу информации
@namename20313 жыл бұрын
20:09 Почему даст отрицательное число. Умножаются ведь одинаковые типы int*int Привели ведь char явно к int Нифига не понятно Вот сделал как вы и сказали int main() { signed int a= 5; printf("%d ", (int)a*10); return 0; } ЗНАКОВЫЙ ТИП 19:29 переменной А умножается на 10. Ниаких переполнений нет. Даже если сделать беззнаковый тип, то нет переполнений. Очень интересно, но ни*рена непонятно.
@7qim3 жыл бұрын
Он неправильно сказал, умножение вообще можно убрать. Всё дело в _"char с = 'Я';",_ поскольку _char_ в действительности то же самое, что _signed char,_ а не _unsigned char._
@namename20313 жыл бұрын
@@7qim Символ 'Я' в ASCII это число 255. 255*10=2550 int d не способно сохранить число 2550?
@namename20313 жыл бұрын
@@7qim Если убрать умножение, то ещё непонятнее. char не способно сохранить символ 'Я'?
@namename20313 жыл бұрын
@@7qim Проверил у себя, выдаёт -33 символ 'Я'. Не понял, в каком типе переменных тогда хранить букву 'Я'?)) Она имеет число 255 в коде, а 255 в 8 бит уже не помещается.
@7qim3 жыл бұрын
@@namename2031 В ASCII нет буквы "Я", ASCII это вообще 7-битовая таблица (коды от 0 до 127 включительно). Буква "Я" в разных кодовых таблицах имеет разные значения. Например, в OEM-866 (так же известной как кодировка DOS), это 159(0x9F), в кодировке Windows-1251, это 223 (0xDF). _char_ способен хранить любой 8-битовый символ, включая символ 'Я', но при попытке обработать его в виде числа (кода символа), можем попасть на грабли в виде отрицательных чисел. Если хотим шаманить с кодами символов, то лучше приводить явно к типу _unsigned char,_ то есть писать нечто вроде _"(unsigned char)a",_ вместо просто _"а",_ это если _а_ у нас определено как _char._ 255 прекрасно укладывается в 8 бит, потому что это ровно 8 битовых единиц (1 байт это значения от 0 до 255 включительно, а для знакового типа от -128 до 127 включительно). 255 это код маленькой буквы "я", а у большой код 223, отсюда в знаковом типе и значение -33 вылазит (223-256), а для "я" будет соответственно -1 (255-256).
@Лоли-девелопер3 жыл бұрын
Люблю вас нимагу
@w.t.29054 жыл бұрын
Целочисленное переполнение стало причиной падения ракеты Ариан 5. Также, показываю целочисленное переполнение на примере GTA 3 на своём канале, если кому интересно.
@pro100SOm6 жыл бұрын
Тимофей, а как Вы прокомментируете рекомендации Страуструпа использовать именно типы int, double, char безо всяких приставок (если нет особой необходимости в отступлении от этих типов) ? Конечно, Страуструп дает такие рекомендации в отношении С++... неужели даже в таких вопросах эти языки настолько отличаются?
@namename20313 жыл бұрын
А про переполнение float есть видео?
@dantesalighieri3 жыл бұрын
Тимофей, я Вас люблю!
@spolyr3 жыл бұрын
Здравствуйте! Скажите пожалуйста как подключить библиотеку уже готовую(dll) к си проекту. Спасибо
@ПавелФомиченко-з5ш Жыл бұрын
Приветствую, а как на курс зарегистрироваться, подскажите?
@mihaitimofti97893 жыл бұрын
bool не стандарт вроде, нет? он по памяти тоже берет один байт поэтому лучше взять либо char либо извращаться с битовыми полями
@mihaitimofti97893 жыл бұрын
по крайней мере я так слышал
@krsr4543 жыл бұрын
Со стандарта С99 вводится встроенный булевой тип _Bool. Он является так же целочисленным типом, только с диапазоном 0 и 1. В этом же стандарте добавился и заголовочный файл stdbool.h с типом bool и значениями для него false и true, но по факту, bool - будет лишь псевдонимом для _Bool
@trigeminalneuralgia98892 жыл бұрын
@@krsr454 typedef enum { false, true } bool;
@dmitriykonopinskiy37934 жыл бұрын
Очень странно что там 0 получился, обычно компилятор просто излишек невлезший записывает Вот и у меня на Mingv через блокнот в консоле выдаёт -2.
@ВикторБородин-р6с4 жыл бұрын
А у меня ноль всегда получался)
@subterraneanrose44045 жыл бұрын
А на языках совсем-совсем уж высоких уровней разве таких проблем нет?
@ЕвгенийСмирнов-з9ф2е4 жыл бұрын
В совсем-совсем высоких нет)
@bogdantymKOLUBO Жыл бұрын
В районе нет а в жабе и жабоскрипте есть
@sluge16 жыл бұрын
Все же в С слово overflow относится только к знаковым типам а wrap around к беззнаковым
@yummiem18115 жыл бұрын
супер.
@OlegSklyarov4 жыл бұрын
Интересно, что для типа int переполнения не возникает. И ещё: компилятор gcc делает все вычисления на этапе компиляции, а в не с процессе запуска программы. Это можно увидеть, если запустить gcc с опцией -S. signed int a = -100 + 10U; signed long b = -100 + 10U; printf("a = %d ", a); // a = -90 printf("b = %ld ", b); // b = 4294967206
@nanoqsh4 жыл бұрын
Переполнение происходит с каждым целочисленным типом, и с int в том числе. Но в данном примере переполнения не происходит, потому что 4294967196 (-100 в беззнаковом представлении) + 10 входит в диапазон int.
@ВикторБородин-р6с4 жыл бұрын
Интересно, поменяется ли поведение если отключить оптимизации
@ВикторБородин-р6с4 жыл бұрын
@@nanoqsh они входят в любой диапазон unsigned чисел. Там была ошибка связана не с переполнением именно в этом примере, а с неявным преобразованием -100 в тип unsigned. Это при любом типе приведёт к такому результату, если компилятор решит делать неявное преобразование в сторону unsigned. При этом кстати диапазон long long больше чем int. Это тем более должно вас отвратить от мысли, что проблема связана с переполнением.
@SalikhovDamir5 жыл бұрын
Что значит знаковый char?
@skva854 жыл бұрын
По идее символьный тип char.
@nanoqsh4 жыл бұрын
Целое однобайтовое число со знаком
@千里之行始于足下-n9u4 жыл бұрын
Знаковый: signed char (от -128 до 127) Беззнаковый: unsigned char (от 0 до 255)
@iwfttl3 жыл бұрын
Только чистый си, по заветам старой школы
@АнатолийТолмачевский2 жыл бұрын
Да ёлки же моталки.) Не мне поправлять таких гуру, только с уважением. Я вообще нуб , но когда заголовочный файл называют библиотекой, ну очень слух режет) си вообще не предусматривает подключение библиотеки из исходного кода.
@nelavas46513 ай бұрын
ты уверен в своих словах?
@romanbrazhnikov90496 жыл бұрын
Очень крутые лекции PS на счёт английского: unknown - [ан-ноун] - неизвестный character - [керэктэр] - символ, хотя тип char - чар
@gostinshell Жыл бұрын
11:02 16:24
@batfist65955 жыл бұрын
Просто снас
@vip510004 жыл бұрын
Почему вы называете инклуд-файлы библиотеками? Вас я считаю грамотным спецом, не хочу услышать такое от вас.
@nanoqsh4 жыл бұрын
А что не так?
@千里之行始于足下-n9u4 жыл бұрын
Правильно: заголовочные файлы.
@nanoqsh4 жыл бұрын
Всё равно тупая придирка. И так понятно что имеется в виду
@tochka8324 жыл бұрын
ну так они в любом случае указывают на "библиотеки" или что угодно исполняемое
@sslem12853 жыл бұрын
потому что некоторые инклуд-файлы это библиотеки функций