Всё разложено по полочкам, просто прекрасно! Очень жду выпуск про хранение десятичных чисел в памяти...
@ivan.goncharov3 жыл бұрын
Видимо не совсем по полочкам разложено :) Десятичные числа хранятся в памяти в двоичном виде. Или что вы имели ввиду про десятичные числа?
@AntonZhiltsov-d4i3 жыл бұрын
@@ivan.goncharov я просто не очень понял как в памяти определена точка десятичного числа (если вообще), в каких случаях может быть overflow у дес. чисел и как бороться с этим. Вы тем более сказали, что тема тянет на отдельный видос 9:00
@ivan.goncharov3 жыл бұрын
А, понял. Только не десятичные, а вещественные) Да, обязательно сделаю урок, но чуть позже.
@Ivanrrr-n8x Жыл бұрын
Отличное обучающее видео, огромная благодарность автору, ремарка из 2023 а именно scanf считается потенциально небезопасным в отношении переполнения буфера, так как она не проверяет границы ввода и по тому нужно использовать безопасную версию функции scanf_s
@ivan.goncharov Жыл бұрын
Спасибо за благодарность ) Да, в одном из следующих видео я рассказываю про scanf_s. И даже немного рассказываю о том, как ломают программы )
@qwesal2 жыл бұрын
очень понятное объясняете. жаль только упомянутых в видео ссылок не нашел :( лайк!
@ivan.goncharov2 жыл бұрын
Спасибо за отзыв, добавил ссылки :)
@mura68122 жыл бұрын
Класс!
@СтепанБелоусов-з9и11 ай бұрын
Добрый день! Можете объяснить почему для хранения наших переменных был выбран символьный тип char, а не int например? И вообще почему в char можно хранить числа? Я думал он может преобразовывать символ сам в число в зависимости от номера в ASCII таблице, но не наоборот
@ivan.goncharov11 ай бұрын
Добрый день. Потому что char достаточно в данном случае, можно и int выбрать, и short, но зачем "платить" больше?) Конечно, в наше время экономить память - занятие не особо благодарное, памяти много. Но привычка осталась.. А вообще char это просто ячейка в 1 байт. Можно там хоть числа хранить, хоть символы (но только ASCII, потому что допустим в кодировке UTF-8 символ может до 4-х байт занимать). Компьютеру же без разницы что вы пишете в память и как потом используете. Допустим вы написали char a = 80; Можно распечатать эту переменную как число printf("As a number: %d ", a); А можно как символ: printf("As a symbol: %c ", a); Что поменялось? Да просто то, что в первом случае printf распечатает число, а во-втором найдет в таблице символ по этому числу и напечатает символ. Но это логика PRINTF, а никак не нашей переменной. Переменная - это просто ячейка с нулями и единицами. А что с ней будет делать printf - это уже другая история. А когда мы пишем char a = 'b'; То тут уже вступает в работу компилятор. Он на этапе компиляции находит символ 'b' в ASCII и пишет в нашу переменную число. Т.е. это просто удобство для программистов. Но компьютер не оперирует символами, все переводится в числа. unsigned char a = 'a' + 'b'; - вот здесь мы просто сложим коды символов 'a' и 'b', но не сами символы. Строку мы не получим от такой операции. Надеюсь понятно объяснил )
@СтепанБелоусов-з9и11 ай бұрын
@@ivan.goncharov очень понятно) Спасибо Вам за исчерпывающий ответ! Очень жду продолжения роликов про основы программирования и язык C👏🔥
@АфонасийГригорьев-г4э2 жыл бұрын
Иван, получается вы "яблочник"? Ну и как программируется на маке?) Ну а вообще про память мне понравилось 255 прям магическое число. Сначала ничего не понял а потом как понял...
@ivan.goncharov2 жыл бұрын
У меня дома 3 компьютера и все на разных ОС :) Есть и винда, и линукс и яблоко. Для работы мак для меня самый удобный оказался. Не без проблем, конечно, но я много лет сидел на винде, и на OpenSuse, и Ubuntu и даже 3 года на Gentoo, но только на маке получается не воевать с системой, а своими делами заниматься :) Рад, что урок понятный был )
@АфонасийГригорьев-г4э2 жыл бұрын
@@ivan.goncharov интересно, спасибо за развёрнутый ответ
@ПавелГончаров-х2ш3 жыл бұрын
Где новый выпуск, Лебовски!?
@iiayk013 ай бұрын
такое себе не понятно, возвращаемое значение пропущено сканф
@iiayk013 ай бұрын
чат гпт подсказал что надо scanf_s
@ivan.goncharov2 ай бұрын
да, в Visual Studio нужно scanf_s. Я в следующих уроках я это подсветил )