Адреса и указатели в Си. Адресная арифметика
Вставка
- Опубліковано 12 сер 2018
- Объявление указателя.
Разыменование * и взятие адреса &.
Адресная арифметика.
Имя массив как константный адрес.
Курс молодого бойца по информатике (Язык Си).
cs.mipt.ru/c_intro
Топовый препод
бог
Действительно толково объясняет
@@evgeniygazetdinov1620 это щ енот
я НИКОГДА, НИ-КО-ГДА не писал комментариев к видео, но тут, решил освежить некоторые вещи в памяти, как же жаль, что мне сразу так не объясняли, суть даже не в том, что я открыл для себя что-то новое, а просто с сожалением вспомнил процесс того, как я пару лет назад понимал это и как мне это объясняли. Приятно смотреть. Супер!
И нашёл отличную видео-лекцию, когда в ней уже нет нужды😆
Лучшее объяснение, что я видел. Всё по существу и без лишнего словоблудия.
Именно, я смотрел много видео и читал многое, но везде либо вскользь говорится или много воды, а тут четко с примерами все объяснили представил, закрепил, очень благодарен
Оказывается можно абстрактные вещи, которыми изобилует программирование, объяснять на понятном языке. Но такой стиль, к сожалению, встретишь не часто, совсем не часто. Я после первых лекций в универе по основам программирования испытал настоящий стресс, а от этой лекции - положительные эмоции, т.к. изложенный материал не оставил пробелов в понимании. Запомнить понятный материал куда как легче, чем материал с белыми пятнами в понимании. Респект профи
После буквы Ы объяснил то, что я не встречал ни в одном учебнике.
Эх вот бы все преподы умели так доходчиво и интересно, с юмором объяснять....)
Жалко нельзя поставить много лайков, Спасибо Тимофей за внятное и понятное объяснение!
Офигеть препод! Талант! Никакие курсы не нужны и универы
Спасибо Вам огромное, Тимофей! Только вы корректно объяснили суть положения звёздочки. Все остальные ставят как попало без объяснения и ломают всю логику. После этого видео перемещаю Вас на моё 1е место в рейтинге преподавателей программирования )))
Звездочку ставят к переменной, а не к типу, потому что кокда указатель передается в определении функции fn( int *p )он там уже пишется без типа { *p = 10; }
@@TheCxnine так вроде мужик сказал что похер где ставить звездочку если звездочка указывает на адресный тип
+++, читал кучу учеников, не мог разобраться, первое видео на ютуб и так повезло, лучший препод
Как же это прекрасно, самое толковое объяснение темы из тех что видел, СПАСИБО ВАМ ОГРОМНОЕ!
Вот это я понимаю: дистанционное образование. Преподавателю поклон.
Тимофей Хирьянов, спасибо вам за видеоуроки, не каждому дано так доходчиво рассказывать!
Вы лучший преподаватель!!!!!!!! Спасибо огромное за такое прекрасное объяснение!!!!!!!!!!!!!
ну просто хочется обнять таких людей, преподаватель с талантом)) очень емко, понятно и на простых примерах
Преподаватель вселенского масштаба)) Сложные вещи простым языком. Очень рад что нашел этот канал. Тимофей, спасибо Вам за труд!
Очень очень хорошая подача материала, чувствуется реальное понимание как преподнести информацию, преподаватель обладает хорошим багажом знаний. огромное уважение!!!!!
Лучшее объяснение, Ваш канал просто находка , спасибо!!!
Все это знал, но даже тут вы смогли показать пару интересных вещей и еще лучше уложить все это в голове. Как всегда - видео лучшее на ютубе.
Спасибо! Очень круто объяснили одну из самых сложных тем в си!
Спасибо! Вы лучший препод в мире!)
Спасибо вам батюшка за прекрасную лекцию про указатели.
Офигеть как всё подробно и наглядно... Я в шоке. Автор прекрасный учитель. Желаю как можно больше подписчиков
Как хорошо, что нашла ваш канал! Спасибо большое за видео, очень понятно:)
Каждая секунда бесценна, спасибо вам
23:32 - эта САМОЕ важное и простое объяснение, почему первый элемент всегда имеет индекс 0! Никто никогда мне не мог этого нормально объяснить, а тут... просто браво!!!
даже просмотревь половину видео все очень прояснилось, вот это дядька, уважуха тебе! посмотрев до окнца - протсо апплодирую стоя!
как раз из-за указателей вылетел в свое время из универа. Си++ был на первом курсе а асм уже на втором. Спасибо за понятно изложенный материал!
Вы лучший! Сижу тут, нервно хихикаю, от того, что наконец-то осознал
То неловкое чувство, когда тебе 40, а ты смотришь курс для школьников.
Эх, в наше время таких преподов не было...
никогда не поздно учиться
Замечательный видеоурок, все понятно и по полочкам разжевано. С такой подаче наверно и динамические массивы будут по зубам любому тугодуму )))
Браво ! Лучшее объяснение !
Спасибо огромное! Лучшее объяснение)
Хорошее объяснение. Понравилось, что Тимофей подчеркнул, что * в объявлении - это не операция разыменования (мне больше нравится термин "ссылка по указателю"), а модификатор типа. Поэтому я предпочитаю объявления типа int* ip, вместо int *ip.
Как здорово, очень понятно и по существу
Тимофей, Вы просто лучший!
Спасибо вам за ваши уроки!!!
огромное спасибо за видео. Было много непонятного до вашего объяснения.
Очень важный урок для меня. Спасибо вам
Только внимательный зритель сможет увидеть под рубашкой застегнутой под последнюю пуговицу и повышенной тональностью голоса(что дает ложное представление "типичного программиста"), хорошую осанку и четко поставленную дикцию. Спасибо Вам за этот урок, многие вещи прояснились!
Что значит "типичный программист"? Что все к нам прикопались, зависть берет, шаблоны ваши рвем? Завидно, да, ненавидели нас пока бухали и смотрели телевизор вместо учебы, а теперь зло берет, что нам служить приходится? Как насчёт типичного экономиста что работает таксистом, как насчёт типичного юриста что работает охранником?
Большое спасибо вам за полезное видео, Тимофей!
Блистательно объясняет!
Уважаю за доходчивость объяснения
«Любимая, я тебя поведу к самому краю Вселенной!
Я подарю тебе эту звезду, светом нетленным будет
она озарять нам путь в бесконечность…»*
Огромное спасибо за качественный контент!
Шутку про пять звёздочек заценили)
Спасибо за понятное объяснение!
Лучшее объяснение, реально....
Шикарно. Блестящее объяснение
Мои глаза открылись... 😮. Спасибо!
В Адресном языке программирования (1955г.) можно было ставить n звёздочек перед указателем и это имело очень большой смысл ("штрих-операция"). "Штрих-операция" (разыменование указателя) была апаратно реализована на ЭВМ "Киев" в 1955г.
Я в восторге от этого видоса :)
Спасибо за лекцию!
Отличное лаконичное объяснение.
Лучший, спасибо за лекцию
Отлично и внятно рассказал!
Супер! ОГРОМНОЕ СПАСИБО!
Шикарная подача.
Здравствуйте, Тимофей! Подскажите пожалуйста по поводу указателей и строковых литералов.
Почему при выполнении следующей программы:
int main(int argc, char** argv) {
char str[30] = "Hello";
char *p;
p = str;
cout
Потому что так работает cout. Когда ему передается указатель на char то он печатает строку. Что бы увидеть адрес - пиши cout
На самом деле, все очень круто, но указатель, правильнее будет использовать тип void *, потому что размер ячейки под адрес в памяти будет равен, по сути разрядности процессора. Int * частный случай, который говорит о том, на какой тип данных представлен по конкретному адресу в памяти. В данном случае у вас int, но там может быть например char или вообще структура.
Благодарю! отличное объяснение
На 21:10 в выражении A[i] = *(A + i) какого типа должна быть переменная i? Если она типа char/short/int, то в правой части выражения перед сложением будет осуществлено её приведение до типа int*?
Я бы посоветовал Тимофею попреподавать ассемблер на микроконтроллерах AVR. Они очень простые в изучении, там все эти адреса можно прописывать вручную и очень хорошо разобраться.
Отличное видео
Огромное спасибо за видео
Просто лучший 👍💯
в 20:20 производится разыменование А, получается разыменование можно выполнить не только указателя, но и массива или переменных любого типа, даже примитвов?
Очень понятно, спасибо большое
Хороший урок спасибо
Вообще мощно . Адреса это бомба
Спасибо 🙏
Спасибо! Супер!
Тимофей,
Спасибо!
Очень понятно. Спасибо!!!
Спасибо
Хорошее объяснение. Я даже понял как работает. Вопрос - а зачем нужны все эти ссылки и указатели и почему напрямую не обратиться к переменной?
Однозначно лайк, спасибо
всё очень понятно, спасибо
Спасибо!
Спасибо большое
Спасибо.
Топовое объяснение!
Запихал его туда . топовый преподаватель . 😁😁😁 .
спасибо большое
очень доходчиво,
Распечатаю 🙂
Идеальное пояснение
Прикольно было бы разложить по элементам массива их собственные адреса.
действительно понятно, еще бы про флаги такое найти
ты мега крут )))
Кто из 21?
)))
Согласен, тема тяжелая.))
Alexcei64rus Из 2021-го года?
@@blackmass4925 школы 21
ну мне 21, так что я тоже в каком-то смысле из 21
просто топ!
Ваааа, класс, наконец я понял
Ого, круто, можно делать переменные с адресами переменных который сами лежат на каком то адресе и его тоже можно записать в переменную.
А можно вопрос? Зачем это надо и где используется.
Чувствуешь себя как на уроке, когда час объясняли что-то сложное, а зачем оно нужно так и не сказали
Класс!!!
У меня один вопрос, зачем это надо, там где две звёздочки, три, ведь можно сделать простым способом например через присвоение переменной i другого значения, ну или хотя бы через *pi = ... Зачем остальные сложности?
да - Вот дом, который построил Джек... Но все равно классно и доходчиво.
Смотрел год назад, вообще ничего не понял. Посмотрел сегодня - понял всё))
Спасибо большое за уроки, объясняете всё очень доходчиво.
Только не совсем понятен смысл употребление указателей.
В данном примере, можно было без и указателя присвоить переменной значение
Миха Сёмин используются при передачи параметров в функцию по указателю, при выделении динамической памяти (с помощью библиотечных функций malloc и т.д) например для создания динамического массива, при разработке прочих динамических структур данных (списки, деревья и прочие), при создании массивов указателей на функции и т.д.
в натуре чётко
от бога препод
как еще 1н лайк поставить просто топ видео