УКАЗАТЕЛИ ЗА ЧАС

  Рет қаралды 42,193

GOALACTION

GOALACTION

Күн бұрын

Привет, пришло время изучить УКАЗАТЕЛИ. Одна из самых трудных и нелюбимых тем в языке СИ, но я уверен, что ты с ней справишься. В этом видео есть все что тебе нужно знать в начале об указателях. Поехали!
ТАЙМ КОДЫ:
00:00 - вступление
00:59 - для чего нужны указатели?
02:04 - что такое переменная, адрес переменной и указатель?
02:58 - как создать указатель?
04:35 - как создать несколько указателей в одной строке?
05:20 - как получить значение на которое указывает указатель? (разыменование)
06:16 - как присвоить новое значение через указатель?
06:43 - как вывести адрес, который хранится в указателе?
07:17 - несколько указателей на одно место в памяти
08:47 - немного практики | функция swap()
10:39 - связь между указателями и массивами
15:46 - немного практики | функция str_len()
17:46 - отрицательные индексы
18:51 - арифметика указателей (первые 3 правила)
23:04 - немного практики | арифметика указателей
24:26 - арифметика указателей (правило №4)
25:31 - немного практики | арифметика указателей
26:26 - бестиповый указатель (void *)
30:09 - разница между строкой и указателем на строку
30:41 - массивы указателей
32:26 - небольшое задание для вас
33:03 - пример решения
33:47 - какая разница между массивом указателей и двумерным массивом?
35:17 - указатель на функцию, как создать указатель на функцию?
38:08 - как создать массив указателей на функции?
41:33 - указатели на структуры
43:20 - заключение
__________________________________________________
после просмотра этого видео, чтобы увидеть использование указателей на практике, создай эту программу: • Распределитель памяти ...
__________________________________________________
мой инстаграм: / dima_luchyk

Пікірлер: 105
@GOALACTION
@GOALACTION 3 жыл бұрын
Сегодня мы разобрали указатели в языке программирования СИ. Думаю теперь понятно зачем они и как ими пользоваться! Если остались вопросы, то обязательно задавайте их в комментариях!
@alexbear9778
@alexbear9778 Жыл бұрын
привіт , підкажи який смисл другого рядка buffer += 11; *- -buffer = 0; , чого перед buffer стоять мінуси , який смисл ?
@IrinaBod
@IrinaBod 2 ай бұрын
Какой замечательный подросток! Спасибо огромное за это видео!!
@amadey3359
@amadey3359 2 жыл бұрын
Как же ты все отлично объясняешь да еще и с роликами в видео, СПАСИБО ЗА ТАКОЙ ТРУД!
@VitaliyZlobin
@VitaliyZlobin Жыл бұрын
Хоть кто-то объяснил практическую ценность указателей. Благодарю) Контент супер, продолжай развивать и развиваться!
@user-bx3qg8js3b
@user-bx3qg8js3b 28 күн бұрын
Вы , молодой человек, молодец. Мне понравилось ваше объяснение этой темы. До меня начало доходить )). Спасибо.
@luckyman9325
@luckyman9325 2 жыл бұрын
Молодец, лучшего объяснения не видел. Четко, лаконично и сразу понятно. И еще, правильно записывает видос, с приятной не навясчивой музыкой и не менее приятным фоном. Что смотреть, что слушать - одно удовольствие.
@zhuuhaaa
@zhuuhaaa 2 жыл бұрын
Жалко просмотров мало, видно, что стараешься. Помог, спасибо!
@user-fh8tg4wn4e
@user-fh8tg4wn4e 2 жыл бұрын
Наверное лучший гайд по указателям . Все по факту и в одном видео , отличная работа ! указатели учил, но для полного понимания как раз нехватало такого видео ,чтоб структурировать все знания .Спасибо!!! еслиб можно было, поставил бы несколько лайков !!!
@bunikido2298
@bunikido2298 3 жыл бұрын
Ну наконец-то! Ждал этого видоса с того момента как ты сказал что его делаешь. Думаю всё-таки скоро и я разберусь в этих указателях. Спасибо за то, что продолжаешь пилить контент. Очень круто )
@GOALACTION
@GOALACTION 3 жыл бұрын
Спасибо! Уверен что ты разберешься!
@valeriana8115
@valeriana8115 2 жыл бұрын
Огромное спасибо за то, что ты делаешь, осознанно и спокойно объясняешь, очень приятно воспринимается информация, в начале изучения плюсов то, что нужно 👽🤙🏻
@DJcRuT000
@DJcRuT000 2 жыл бұрын
Спасибо за видео, сейчас учусь в вузе и понадобилось разобраться с данной темой, но нигде такого подробного видео об указателях не нашел)
@lovk4ch
@lovk4ch 2 жыл бұрын
Спасибо, очень полезное видео! Поздравляю с достижениями и желаю новых успехов! ✌
@pavelshershnev6213
@pavelshershnev6213 2 жыл бұрын
Спасибо за урок! Подача информации просто супер
@Mintus775
@Mintus775 Жыл бұрын
Огромное тебе спасибо ! Раньше я понимал что такое указатели, но не умел пользоваться ими в полной мере, и самое главное - я не знал для чего они нужны ! Спасибо за помощь
@romandavydov3888
@romandavydov3888 2 жыл бұрын
Молодец. Очень доходчиво и на примерах. Продолжай!
@orvius5972
@orvius5972 3 жыл бұрын
Очень классно! Спасибо большое) И я уверен, что ты достигнешь своей мечты)
@GOALACTION
@GOALACTION 3 жыл бұрын
Спасибо! Такие комментарии действительно поддерживают и придают сил!
@user-nh8mr1ib5o
@user-nh8mr1ib5o Жыл бұрын
чел, ты гений единственный на ютубе, кто рассказал, для чего в целом нужны указатели видео прекрасное, разложил всё по полочкам всего за 40 минут спасибо за твою деятельность
@uultayarstankulova6132
@uultayarstankulova6132 2 жыл бұрын
Спасибо огромное! Великолепное видео
@pl.elektronik
@pl.elektronik 10 ай бұрын
А вообще очень интересно подан материал, спасибо!
@asgames804
@asgames804 Жыл бұрын
Очень позновательное видео, которое богато хорошими практическими примерами. Лайк!
@user-kh7gi7mc4w
@user-kh7gi7mc4w Жыл бұрын
Просто лучший! Надеюсь, что с твоей помощью и своими усилиями я сдам программирование на твёрдую десяточку. Развивайся и дальше, ты молодец
@IlyaKh.-id5no
@IlyaKh.-id5no 6 ай бұрын
Спасибо! Вы помогли мне разобраться в этой теме.
@panigo63
@panigo63 2 жыл бұрын
Благодарю. Хорошее объяснение.
@alexandrsavin2266
@alexandrsavin2266 Жыл бұрын
Братишка, рил лучший. Спасибо большое! Но "ихний" убил ) Желаю тебе скорее возобновлять блоги и уроки.
@user-oj7ui7qx5i
@user-oj7ui7qx5i Жыл бұрын
пацан к успеху идет, более подробных видео я не видел на ютубе!!!
@alexandrshatilov8227
@alexandrshatilov8227 2 жыл бұрын
Спасибо огромное! Года 2 назад узнал про существование указателей, практически ничего не понял и забил) сейчас пришла пора сдавать сессию, так что разобраться с указателями всё-таки пришлось. Очень понятно, доступно объяснил, приятная картинка, крутые разъясняющие иллюстрации и хорошие примеры. Спасибо большое тебе за твой труд!
@lilfearmuch
@lilfearmuch 2 жыл бұрын
Жиза, через 2 месяца сессия по проге, пора наконец разобраться, ибо 7 месяцев изучая си, я так и не научился нормально ими пользоваться 🙃
@pkorneev5226
@pkorneev5226 Жыл бұрын
@@lilfearmuch ну видимо ты си не изучал 7 месяцев, а так глядел одним глазком) С практикой хотя бы раз в неделю часа 4 ты бы уже эти указатели от а до я понимал
@truth_will_win
@truth_will_win Ай бұрын
Спасибо. Крутое видео.
@user-bp2sm1gp4u
@user-bp2sm1gp4u 6 ай бұрын
Лайк, подписка. Красавчик.
@user-ow1he8qm2h
@user-ow1he8qm2h 2 жыл бұрын
Круто! Респект!)
@MrCheMan
@MrCheMan 2 жыл бұрын
*Классный ролик и полезный!*
@dobranify
@dobranify Жыл бұрын
Молодец!!! Спасибо. Нажал на колокольчик и подписался.
@yurchik_exe
@yurchik_exe 2 жыл бұрын
Большое спасибо за видео
@user-qt9wr4kq8e
@user-qt9wr4kq8e Жыл бұрын
Спасибо, сколько же здесь труда вложено...
@olegt9865
@olegt9865 2 жыл бұрын
Молодец, хороший материал и ты хорошо объясняешь.
@user-yx4ec4xg9r
@user-yx4ec4xg9r 3 жыл бұрын
БРАТИШКА, ТЫ ЛУЧШИЙ!!!!!!!!
@russiaball
@russiaball Жыл бұрын
Спасибо большое!!
@bokoter
@bokoter 2 жыл бұрын
Просто лучший)
@hardbizonuakyiv7752
@hardbizonuakyiv7752 Жыл бұрын
Дякую, друже за класний урок!
@alienusbarbarus4532
@alienusbarbarus4532 2 ай бұрын
"Запустю программу" - Весело ! Вообще-то, надо говорить "запущу".
@theelectr1k
@theelectr1k 2 жыл бұрын
сколько старый дядька не пытался понять указатели, но понял только после твоего видео!
@arsenshmid
@arsenshmid 2 жыл бұрын
Одни из лучших объяснений. Почему просмотров мало?? Я в последнее время только эти видосы и смотрю по С++.
@postmodern3509
@postmodern3509 3 жыл бұрын
Подписка, выпало в рекомендации)
@yunggod8507
@yunggod8507 3 жыл бұрын
Годный видос. Учу C++, но всё равно помогло
@user-xm5zl9up4r
@user-xm5zl9up4r 7 ай бұрын
Молодчина
@popopopo8317
@popopopo8317 2 жыл бұрын
Ты молодец!
@user-tu9xt6jt3p
@user-tu9xt6jt3p 2 жыл бұрын
Здравствуйте. А можно создать указатель на структуру, которая является элементом другой структуры ?
@user-kc6ie3fb1d
@user-kc6ie3fb1d Жыл бұрын
Мужик спасибо
@suslikest3708
@suslikest3708 2 жыл бұрын
Чётко.
@sashuk_keshuk9292
@sashuk_keshuk9292 Жыл бұрын
все супер, но вопрос - а поему когда мы создаем указатель на стрктуру и выводим элемент структуры через этот указатель, мы не разыменовываем его?
@uultayarstankulova6132
@uultayarstankulova6132 2 жыл бұрын
Желаю достичь мечты!
@justeun_homme
@justeun_homme Жыл бұрын
спасибо дружтще
@niksanfps7363
@niksanfps7363 Жыл бұрын
Привет. Через какую прогу кодишь?
@user-cb8jr3rj7s
@user-cb8jr3rj7s 5 ай бұрын
Лол, малой, это ппц забавно как ты про указатели втираешь xD, но по делу всё четко, лайк.
@kamikadze_n5191
@kamikadze_n5191 Жыл бұрын
Ещё не плохо было бы показать как с помощью указателей можно приводить любые типы данных переменной(альтернатива union)
@iBarmalei
@iBarmalei Жыл бұрын
👍 красавчик. и все же, я бы поспорил с выражением, что указатели позволяют экономить память.. структура, образованная во free store уже занимает память, как ни крути, а передавая сущность по указателю а не обычным копированием просто облегчает и ускоряет процесс🤷‍♂️ если не прав, поправьте
@user-ev4zj1ko3c
@user-ev4zj1ko3c 8 ай бұрын
насколько я понял, в случае присваивания новой переменоой старой, а не присваивании указателю адреса, ты копируешь переменную, то есть тратишь на запись в 2 раза блльше памяти + переменная может быть типа li или ld указатель же имеет стандартно 4 байта и при серьезных программах это существенно сокращает количество занимаемой памяти
@subs_eng3668
@subs_eng3668 2 жыл бұрын
Я возможно чего-то не понимаю, но я прогнал код с формулой (p + SIZE) - arr = 10 и у меня вышло 20. Я полностью переписал твой код из видео и добавил эту формулу. Я так понимаю что в данной ситуации адрес p = arr + SIZE; То есть по логике выражения пишется (arr + SIZE + SIZE) - arr --> (1 + 10 + 10) - 1 = 20. Как у тебя вышло 10?? это 24:29 минута. Я честно говоря не могу понять как так выходит? Я переписал тот что на 23:30 минуте. Может я не к тому выражению подставил? Я не упрекаю, просто сам понять не могу. Видео классное, но не могу с этим выражением разобраться. Как оно относится к объяснению *p1 - *p2 = кол-во ячеек между ними?
@alienusbarbarus4532
@alienusbarbarus4532 2 ай бұрын
Всё понятно. Только ничего не запомнилось. Такое ощущение, что пока смотришь, оперативная память работает. Как закончил смотреть, все данные тут же стёрлись из памяти.
@user-es3zb4lm8c
@user-es3zb4lm8c 2 жыл бұрын
В коде на 30:31 VS19 выдаёт ошибку: невозможно преобразовать "const char [18]" в "char *". В чём проблема не могу понять
@fearless5533
@fearless5533 2 жыл бұрын
если еще интересно, то надо просто const добавить перед char
@user-es3zb4lm8c
@user-es3zb4lm8c 2 жыл бұрын
@@fearless5533 спасибо))
@semurgx
@semurgx Жыл бұрын
было бы ещё круто, если бы рассказал, что произойдёт, если вернуть указатель на локальную переменную
@TestTest-fi2ok
@TestTest-fi2ok Ай бұрын
Хорошее видео, единственное, что очень быстро код набираешь, не успеваю улавливать, приходится паузу нажимать
@user-wb1ow1pk9v
@user-wb1ow1pk9v 3 жыл бұрын
👍
@loh-ri9qb
@loh-ri9qb 2 жыл бұрын
в примере на 5:10 можно просто сделать int* p1, p2, p3 тогда все переменные будут указателями
@IT_Shkolnik
@IT_Shkolnik 2 жыл бұрын
Нет, тогда p1 будет указателем на тип int, а p2 и p3 будут переменными типа int.
@lavron4ik855
@lavron4ik855 Жыл бұрын
@@IT_Shkolnik не думал, что встречу тебя здесь)
@user-db9sw7ub2j
@user-db9sw7ub2j 2 жыл бұрын
Я где пару месяцев назад искал видео про указатели нашёл несколько но поверь ни одно видео не сможет сравниться с твоим. Если можно задать вопрос то где и откуда ты выучил указатели?
@GOALACTION
@GOALACTION Жыл бұрын
Много разных источников. Видео в ютубе, статьи, книга Язык С (Керниган Ричи).
@nicholasspezza9449
@nicholasspezza9449 5 ай бұрын
Программируя на Си, пятаком ты не тряси! 😅
@andrejklester5851
@andrejklester5851 5 ай бұрын
Если читать чужой код, как это всё понять, не ужели в голове всё вычеслять 😢 . Это поэтому на с делают программы, потому что код не возможно читать?😅
@vluds7688
@vluds7688 2 жыл бұрын
23:37 Немного не понял зачем в функции нужен второй аргумент size, если ты все равно используешь размер из define
@GOALACTION
@GOALACTION 2 жыл бұрын
В функции должен использоваться аргумент size, а не дефайн! Я их попутал. Дефайн для указания размера массива при его создании, а в функции мы должны использовать аргумент. Я ошибся !
@vluds7688
@vluds7688 2 жыл бұрын
@@GOALACTION Понял, спасибо за ответ!
@sobolevmath
@sobolevmath 8 ай бұрын
вау..
@pl.elektronik
@pl.elektronik 10 ай бұрын
А 16 минут оставшиеся где?
@user-sx6xv8hp4h
@user-sx6xv8hp4h 2 жыл бұрын
По-моєму на моменті 21:34 краще порівнювати значення елементів масиву, а не їх вказівники, бо масив може бути не посортований ( наприклад { 24, 5, 3, 107... } ). Але дійсно може бути умова, де доцільно використати саме вказівники Спасибі за відео! Продовжуй і надалі!
@GOALACTION
@GOALACTION 2 жыл бұрын
Дякую!
@Podsoznanie_Sila
@Podsoznanie_Sila Жыл бұрын
Только в конце видео понял, что это для языка С, а мне то нужно c++, эх
@exx-ns4tt
@exx-ns4tt 5 ай бұрын
к плюсам это так же применимо
@nikitoff6254
@nikitoff6254 11 ай бұрын
Не мог понять указатели. 1:20 все понял.
@gunnargunaxe
@gunnargunaxe Жыл бұрын
Ну первые 10 минут я освоил ещё до просмотра... Хммм, что же будет дальше?🤔
@bloody1787
@bloody1787 Жыл бұрын
Указатель не 4 байта. Точнее в x32 архитектуре 4 байта, а вот в x64 - 8 байтов.
@user-qh2ux1pw2v
@user-qh2ux1pw2v 5 ай бұрын
какая то реаль идиотская мода вместо того что показывать кучу примеров с кодом... приходится смотреть на махание руками с супер длинной вводной частью
@4frag_IvS
@4frag_IvS Күн бұрын
Не могу сказать, что мне такое длинное вступление было нужно, однако не все могут быстро понять, о чем речь. Уж лучше пусть будет разжевано, чем недосказано. Всегда можно поставить ролик на 2х
@RiddleSI
@RiddleSI Жыл бұрын
44:35 это не 60:00 😢
@user-qt9wr4kq8e
@user-qt9wr4kq8e Жыл бұрын
Почему не работает *х=*у; ? Ролик крутой
@gerasim5312
@gerasim5312 2 жыл бұрын
А можно не кривляться языком под иностранца? Или тебе западло быть русским? Не играй интонациями и ... Будь РУССКИМ. Не интересничай.
@GOALACTION
@GOALACTION 2 жыл бұрын
Наверное так вышло потому что я не русский, а украинец.
@Carymanich
@Carymanich Жыл бұрын
2Gera sim. Клоун, тебе в другие разделы Ютуба. Как ты вообще сполз с Киселева и Соловьева сюда? А ну брысь обработано в нижний интернет
@AlexAlex-ll5sz
@AlexAlex-ll5sz Жыл бұрын
Запустю. Не только сказал но и написал. Запустю, запустю.
@Mani_Fast
@Mani_Fast 2 жыл бұрын
найс спс) можно еще проще сделать подсчет строки: int i; while (*(s+i) != '\0') i++; return i;
@trigeminalneuralgia9889
@trigeminalneuralgia9889 Жыл бұрын
зачем? просто используешь #include char s[]; int length = strlen(s);
@PavelKo1980
@PavelKo1980 2 жыл бұрын
Спасибо! Благодарю! kzfaq.info/get/bejne/jLddarOdzs-biI0.html char* strings[] = { "С", "С++", "pyton"}; По крайней мере в 22 году выдаёт ошибку; и хочет чтобы было const char* strings[] = { "С", "С++", "pyton"}; То есть ключевое, чтобы было CONST.
@giunone1
@giunone1 Жыл бұрын
для плюсов актуально?
@GOALACTION
@GOALACTION Жыл бұрын
Актуально
@giunone1
@giunone1 Жыл бұрын
@@GOALACTION круто. а я думал, что у плюсов ваще никакой обратной совместимости нет
@mrbudson1
@mrbudson1 9 ай бұрын
​​@@GOALACTIONПочему ты забросил свой ua канал? Видео уже год нет!
Перечисления в си (enum)
7:15
GOALACTION
Рет қаралды 3,7 М.
Адреса и указатели в Си. Адресная арифметика
27:47
Тимофей Хирьянов
Рет қаралды 160 М.
DEFINITELY NOT HAPPENING ON MY WATCH! 😒
00:12
Laro Benz
Рет қаралды 51 МЛН
How Many Balloons Does It Take To Fly?
00:18
MrBeast
Рет қаралды 141 МЛН
БОЛЬШОЙ ПЕТУШОК #shorts
00:21
Паша Осадчий
Рет қаралды 10 МЛН
Зачем нужны указатели в C++?
8:14
Всё об указателях в C++ за 20 минут
20:00
КАК ЧИТАТЬ И ПОНИМАТЬ С/C++ КОД?
8:21
Winderton
Рет қаралды 186 М.
C++ 1. Указатели и Виды памяти
2:55:24
Лекторий ФПМИ
Рет қаралды 25 М.
Как Я Учу Программирование
6:53
GOALACTION
Рет қаралды 8 М.
DEFINITELY NOT HAPPENING ON MY WATCH! 😒
00:12
Laro Benz
Рет қаралды 51 МЛН