Техника безопасности при работе с памятью в Си

preview_player
Показать описание
Ошибки работы с памятью в Си: Segmentation fault, Memory leak.
Инициализация указателей: NULL.
Проверка корректности адреса.
Ответственность за освобождение памяти.

Курс молодого бойца по информатике (Язык Си).
Рекомендации по теме
Комментарии
Автор

Это дар, рассказать интересно и понятно, профессионально и запоминаемо.

ArtemMELNYK
Автор

Спасибо! за столь огромный труд!
После использования функций gets() или указателя без инициализации или массива на стеке, или гарантия доступа за границы массива (*(name - 1) и *(name+sizeof(name)+1). ) программирование на языки Си это нервный тик при объявлении объектов памяти.
шаг -> расстрел.

SloRez
Автор

Полезная и довольно редкая информация! Спасибо!

andreivoronin
Автор

Огромное спасибо, Тимофей Федорович! Я прошел этот курс.

lelelele
Автор

В плейлисте курса не хватает видео Переменные в языке С

vegqbnr
Автор

А какие варианты есть у strdup кроме как сделать аллокацию?
Использовать alloca? В общем не понял проблему

stdany
Автор

Я люблю Си. В том числе, за большие проблемы при работе с памятью. Потому что -- кому проблемы, а кому -- фишечки.

Ma_X
Автор

Мне 12 лет, я хочу научится работать с памятью в Си, вот, ищу Инфу. Наткнулся на этот канал, надо учитывать что здесь я и научился языку Си

_klim
Автор

здравствуйте Тимофей! Благодарю вас за чудесный курс (стдент МГТУ). Появился вопрос про ситуацию на 12ой минуте видео. Если в цикле перевыделять память одной и той же переменной, то как ее потом освободить?
Я считал, что в таком случае результат будет такой же, как у функции реаллок и у указателя будет меняться размер принадлежащего ему пространства памяти, и использование одного free будет достаточно.

gohardgomykhailovarenytsia
Автор

Garbage collector жрет много ресурсов и эффективность у него не стопроцентная, всегда будет утечка, лучше один раз написать правильно на С, чем всё время коллектору анализировать код и память. Поэтому С форевер.

maratimus
Автор

У первой лекции в 11 раз больше просмотров )

sergioostanioni
Автор

Вот как раз думал повторить СИ. Как раз с памятью что там. Начал с этого вопроса. И как то идея повторить СИ.

Раньше мне как-то ума не хватало на программирование. То есть прошел курс, понял. Но как то сверхсложным все казалось. Так что вот теперь надо еще раз. Кстати может повторить прямо. По урокам, думаю. Это СИ. Раньше, я его 1 раз быстро минимум какой то прошел и сразу на СИ++. Трудно, страшно. Поэтому и рад был что с СИ там за уроков 7 что ли... Быстро разделался то же по видел тогда учил. Но тогда - это первый раз. Без всякой специальной подготовки. Поэтому конечно, это был АД для меня. Мой МОЗГ не был готов к такому. Но усвоить и пройти удалось.

Думаю теперь еще раз! Повторить все.

dimalink
Автор

А stack overflow, buffer overflow Вы не относите к проблемам работы с памятью? Ведь большинство уязвимостей строится именно на этих ошибках. Странно, что тут ничего об этом не сказано

fish
Автор

Очень странно... числа Вы сравниваете с 0, хотя с ними разночтений не бывает. А вот указатели лучше таки сравнивать с константой NULL - может быть в некоторых компиляторах не совсем ожидаемая реакция на попытку неявного преобразования...

proSOm
Автор

Хороший пример ТЕЛЕГРАММ. течет на всех системах

alexjakcson