Динамический массив с++ пример. Создание, заполнение, удаление, размер динамического массива. #55

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น •

  • @SimpleCodeIT
    @SimpleCodeIT  7 ปีที่แล้ว +107

    *Друзья, если вы решили изучать программирование и подписались на канал - рекомендую вам нажать колокольчик чтобы никогда не пропускать новые уроки!*

    • @АлександрИбраимов-п3р
      @АлександрИбраимов-п3р 6 ปีที่แล้ว +1

      Можно ли вместо динамического массива использовать векторы? Или вообще полностью заменить динамический массив на вектор.

    • @kostyantynbalanel4525
      @kostyantynbalanel4525 5 ปีที่แล้ว

      @@АлександрИбраимов-п3р Думаю нет((

    • @olexangrstetsiuk3092
      @olexangrstetsiuk3092 4 ปีที่แล้ว +3

      ​@@UFO26, размер динамического массива не узнаётся , а устанавливается в ходе исполнения кода в зависимости от использованного алгоритма , к примеру :
      const uint16_t MAX_SIZE = 65535;
      uint8_t
      WidthLine =137 ;
      for (uint16_t size = WidthLine ; size < (MAX_SIZE - WidthLine); size = size + WidthLine)
      { int * arr = now int [size] ; for (... дальше как в ролике... }
      Итак : наш size изначально имеет размер 137 , и в ходе исполнения шагов кода каждый раз увеличивается на число из переменной WidthLine =137 , и уже никогда не превысит 65 535 (я вычитаю WidthLine из MAX_SIZE , чтобы не случилось переполнения , ибо MAX_SIZE может быть не кратно WidthLine). Но при желании , и MAX_SIZE можно сделать не константой а переменной, куда операционка будет вкладывать значение допустимой длины непрерывной свободной области памяти .

    • @mortak
      @mortak 2 ปีที่แล้ว

      Лучший

  • @camradsamka4427
    @camradsamka4427 6 ปีที่แล้ว +320

    Вы, наверное, первый человек, которому стараюсь не забывать ставить лайки под каждым видео.

    • @SimpleCodeIT
      @SimpleCodeIT  6 ปีที่แล้ว +22

      Благодарю за поддержку!

    • @zumaxrussia
      @zumaxrussia 6 ปีที่แล้ว +11

      так же)))

    • @DenKof81
      @DenKof81 6 ปีที่แล้ว +29

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

    • @АлександрЛитвинюк-х2ы
      @АлександрЛитвинюк-х2ы 4 ปีที่แล้ว +6

      Аналогично !!!

    • @Evgeny..
      @Evgeny.. 4 ปีที่แล้ว +3

      Так же

  • @etniqa3638
    @etniqa3638 6 ปีที่แล้ว +68

    ЛУЧШИЙ НА РУНЕТЕ.
    ТЫ ДАЕШЬ ВОЗМОЖНОСТЬ ТЕМ, У КОГО ПРОБЛЕМЫ С ФИНАНСАМИ, БЕЗ ДЕНЕЖНЫХ ЗАТРАТ ИЗУЧАТЬ ПРОГРАММИРОВАНИЕ. СПАСИБО БОЛЬШОЕ!!!

    • @shag-foal
      @shag-foal 5 หลายเดือนก่อน

      Открою небольшую тайну, есть куча бесплатного качественного материала по изучению программированию. Книги хорошо подходят, но не для всех. Бесплатные курсы, абсолютно всем подходят. А видосов на ютубе и не только, вагон и маленькая тележка, при чем только русскоязычных,а сколько же на английском, представить сложно

  • @JoffreyB
    @JoffreyB 7 ปีที่แล้ว +134

    спасибо большое за детальное объяснение! многие упускают всякие детали, когда объясняют, думая, что человек сам знает, что это, а вы прям и ссылки даете на нужные свои старые ролики, чтобы проследить логику уроков, если не понятно, и объясняете кратко, что дает возможность освежить старое, в общем. СПАСИБО ВАМ!!!

    • @SimpleCodeIT
      @SimpleCodeIT  7 ปีที่แล้ว +13

      Пожалуйста! Благодарю за поддержку!

  • @kostyarend9113
    @kostyarend9113 6 ปีที่แล้ว +49

    Сергей здравствуйте, я всегда думал что видео контент в сферах науки, это скорей кусок дерьма чем источник познавательности, люблю книги (хотя сложно даются), но когда я наткнулся на Ваш канал, он изменил всё представления об видео уроках, повторяю сейчас с++, много положительных эмоций Вы мне дали, спасибо что Вы есть, огромное Вам человеческое спасибо!!!!!!!счастья Вам и процветания.

  • @АртёмЮгай-ц2п
    @АртёмЮгай-ц2п 3 ปีที่แล้ว +24

    Чем больше я учусь те больше понимаю что програмирование это командное дело . Спасибо и это фудоментальное добро вы делаеете как для языка так и для милионов людей кто то из них может что то сконструирует и а основы были истоки на вашем канале огромное Спасибо. За свет оброзования . За вдохновение и детали програмирование это командная деятельность . Репост это меньшее что я могу зделать .

  • @ИлиясКоянбай
    @ИлиясКоянбай 6 ปีที่แล้ว +23

    И пару недель назад начал смотреть только твой канал от начала до середины (пока что), зная что лучшего для меня не сыскать, значительно многие уроки я уже запоминаю с одного просмотра, а то что нет смотрю снова ведь искать ответы у других это нереально, реальнее смотреть видео снова ведь вы там объясняете все очень четко что редкость.

  • @ИлиясКоянбай
    @ИлиясКоянбай 6 ปีที่แล้ว +43

    Как то год учил именно этот язык, потому что другими ЯП (кроме С и АСМ) многие микроконтроллеры не возможно программировать, но чудо то какое только после твоих уроков я понял суть вещей в С++, даже в SOLOLEARN тройное прохождения С++ не помогло углубиться так. Спасибо за уроки, от тебя действительно выйдут много толковых учеников, чем у тех кто показывает о С++ в ютубе, а я их поведал не мало пока не нашел твой канал.

    • @andreyvolkov3117
      @andreyvolkov3117 4 ปีที่แล้ว +4

      спасибо тебе. А то я одному дебилу объясняю, что здесь проще, а он упирается, твой коммент помог мне в решении данного вопроса, спасибо!

  • @ВиталийСусский-я2м
    @ВиталийСусский-я2м 4 ปีที่แล้ว +68

    7:18 это лучший момент когда сергей программист наверное уровня мидл вводит cout с 10 раза ))))))))

  • @alexgaran5339
    @alexgaran5339 4 ปีที่แล้ว +6

    7:17 - Господи, да попади уже по клавишам)
    Спасибо за урок, сенсей

    • @SimpleCodeIT
      @SimpleCodeIT  4 ปีที่แล้ว +7

      сорян, клавиатура под столом, печатаю в слепую =)

    • @alexgaran5339
      @alexgaran5339 4 ปีที่แล้ว +2

      Продолжайте в том же духе, это весело)
      Огромное спасибо за уроки, у вас талант учителя великолепный, продолжаю учиться по ним.

  • @whoammiwho6172
    @whoammiwho6172 ปีที่แล้ว +2

    Вау это прям совокупность всего, что проходили круто преподаешь!

  • @SimpleCodeIT
    @SimpleCodeIT  7 ปีที่แล้ว +19

    #динамическиймассив #SimpleCode #урокипрограммирования

  • @Pech_enk
    @Pech_enk 7 หลายเดือนก่อน

    Я обожаю Ваш канал и этот курс. Благодаря вам покорить программирование становится проще, спасибо вам огромное!

  • @zabehilloshamsiddinov7108
    @zabehilloshamsiddinov7108 3 ปีที่แล้ว +2

    Какой же вы очень хороший человек Сергей!!! Я от души благодарен за ваши уроки. Пусть всегда с вами будет счастье и здоровье и любимые люди!!!! Я понимаю что можете сказать что я вас не знаю и почему пишу что вы хороший человек? Простая логика, у плохого человека не может быть так хорошо получаться так отлично объяснять что нибудь, тем более программирование))) еще раз спасибо огромное!!!

  • @МихаилСкворцов-ч6к
    @МихаилСкворцов-ч6к 7 ปีที่แล้ว +11

    Благодарю за данный урок. Все достаточно информативно и просто для изучения.

  • @PazhilayaGodzila
    @PazhilayaGodzila 4 ปีที่แล้ว +6

    *комментарий для продвижения ролика* спасибо за уроки!

  • @user-mykyta_vyshniakov
    @user-mykyta_vyshniakov 4 ปีที่แล้ว +6

    Прекрасно подготовлены материалы уроков и грамотно поданы, осталось только усвоить и применить ;)

  • @overdoses1794
    @overdoses1794 7 ปีที่แล้ว +9

    Доступно и понятно! Спасибо вам большое, что стараетесь)

  • @Bald_Predator
    @Bald_Predator 2 ปีที่แล้ว

    Подача урока на высшем уровне, жаль мало таких людей которые от души всё объяснят и так максимально легко что даже первоклашка сразу поймет. Всем бы так научится подавать материал а то ищу про Python одни профессора блин которые думают что всё все уже знают и сходу начинают всякие приложения писать.
    А Вам Сергей здоровья крепкого и успехов во всём!

  • @itaccount1993
    @itaccount1993 2 ปีที่แล้ว +1

    05:29 - массив это непрерывная область памяти
    13:23 - обязательно условие: чтобы в оперативной памяти было свободный непрерывный участок памяти
    13:56 - в отладчике мы сможем увидеть только самый первый элемент

    • @princessmary5556
      @princessmary5556 ปีที่แล้ว

      Массив - это тип данных. В отладчике вы можете увидеть не только самый первый элемент, но и весь массив целиком, при желании.

    • @alienhazzard7201
      @alienhazzard7201 11 หลายเดือนก่อน

      Нет в языках С/С++ типа данных «массив». Массив - это просто указатель на кусок памяти.

  • @developer-miracle
    @developer-miracle 5 ปีที่แล้ว +1

    Очень доступно объясняешь! Всегда смотрю твои видео, если не могу вникнуть в тему, которую нам задают.

  • @vladimirdiadichev6140
    @vladimirdiadichev6140 7 ปีที่แล้ว +17

    Спасибо, очень хорошо, что недостатки плюсов показываете.

  • @azzzn-m8h
    @azzzn-m8h 3 ปีที่แล้ว +42

    Если кто-то задумывался (и не знал) над тем, как работает 16-ричная система , то цифры ( а именно 1 2 3 и так далее до 9 ) записываются без изменений , а уже числа (>= 10 и < 16) будут иметь вид английского алфавита - A B C D E F где A=10 B=11 C = 12 D = 13 E = 14 F = 15, а вот число 16 принято писать за 0.

    • @arsIsv
      @arsIsv 2 ปีที่แล้ว +1

      Какие числа? Это цифры, а цифры 16 нет в 16церичной системе

    • @КириллАнтонов-й6т
      @КириллАнтонов-й6т 2 ปีที่แล้ว

      @@arsIsv цифры это от 0 до 9

    • @arsIsv
      @arsIsv 2 ปีที่แล้ว +3

      @@КириллАнтонов-й6т по твоему F это не цифра в 16ричной системе счисления?)

    • @КириллАнтонов-й6т
      @КириллАнтонов-й6т 2 ปีที่แล้ว

      @@arsIsv я тебе про 10-тичную говорю

    • @AlexaBaby-uv8sf
      @AlexaBaby-uv8sf ปีที่แล้ว +6

      ​@@arsIsvчел просто хотел помочь, а ты нашёл совсем безобидную ошибку и говоришь об этом, это говорит о том, что у тебя самооценка низкая

  • @ВладимирИванов-в5щ
    @ВладимирИванов-в5щ 7 ปีที่แล้ว +13

    Как всегда всё супер и по порядку))) Спасибо большое

    • @SimpleCodeIT
      @SimpleCodeIT  7 ปีที่แล้ว +1

      Пожалуйста! =)

  • @Marcellus.Wallace
    @Marcellus.Wallace 5 ปีที่แล้ว +4

    Благодарствую.
    Удачи и успехов в делах.
    👍🏾

  • @kola33258
    @kola33258 7 ปีที่แล้ว +36

    Поздоровляю с 350к просмотров)скоро милион будет)

  • @hulumulumulus
    @hulumulumulus 4 ปีที่แล้ว +10

    19:20, данные, которые лежат в этой ячейке принадлежат только этой программе и этому процессу, если бы это был кусочек видео из бандикама, то операционная система бы немедленно закрыла процесс из-за того, что она пытается достучаться к участку памяти, не принадлежащему ее процессу. Так что там лежат данные только этого процесса, ничто другое быть не может.

    • @hulumulumulus
      @hulumulumulus 3 ปีที่แล้ว +3

      @Mimyagu artmoney получает так называемый handler процесса, через который и модифицирует данные оперативной памяти процесса и операционная система уже не считает это вмешательство «нелегальным»

  • @saidamir6538
    @saidamir6538 3 ปีที่แล้ว

    Спасибо за уроки, всем кто спрашивает вас рекомендую

  • @kostaweinstein6253
    @kostaweinstein6253 5 ปีที่แล้ว +38

    мне нравится, как в каждом уроке вы "рекламируете" предыдущий урок.
    если кто-то нечаянно попадёт на 55 урок, то ему придётся пересмотреть все уроки в обратном порядке.
    это такой себе рекурсивный урок. чтоб посмотреть 55ый, нужно посмотреть 54 предыдущих и вернуться на 55ый)

    • @self-toughstudy6635
      @self-toughstudy6635 4 ปีที่แล้ว +22

      Вероятно один из самых удачных примеров рекурсии)

    • @RrRrRrRroman
      @RrRrRrRroman ปีที่แล้ว +1

      не, вначале рекурсии почти не было, где-то с 40го началась))

  • @pavelios3577
    @pavelios3577 6 ปีที่แล้ว +1

    Уважаемый Сергей, спасибо за видео!

  • @Folysen
    @Folysen 5 ปีที่แล้ว +1

    ОЧень хорошие уроки !!! Спасибо за Ваш труд !!!

  • @alexeymi2618
    @alexeymi2618 6 ปีที่แล้ว +1

    Сергей, спасибо большое! Нереально круто объясняешь

  • @auratarus
    @auratarus 6 ปีที่แล้ว +1

    Спасибо за уроки, все разжевано и понятно!

  • @SuperAbisal
    @SuperAbisal 6 ปีที่แล้ว +1

    Сколь много я узнал !!! Спасибо вам большое.

  • @archiechellaut9483
    @archiechellaut9483 3 ปีที่แล้ว

    Большое спасибо вам за урок и прекрасное пояснение, Сергей!

  • @зайка-щ9о
    @зайка-щ9о ปีที่แล้ว +1

    Спасибо тебе за уроки.

  • @GrizzleeSanctus
    @GrizzleeSanctus 6 ปีที่แล้ว +1

    Спасибо за видео. Теперь я понял как работала програма для взлома игр ArtMoney :) Её нужно было указать текущее значение денег, параметров или еще чего-то численного и когда она находила нужное значение пробовала поменять его. Теперь, я думаю, смог бы написать подобную программу ;)

    • @ВладиславТимофеюк
      @ВладиславТимофеюк 3 หลายเดือนก่อน

      получилось написать ?)

    • @GrizzleeSanctus
      @GrizzleeSanctus 3 หลายเดือนก่อน

      @@ВладиславТимофеюк ого, за 6 років я написав багато чого, але не на плюсах) пішов у фулстек дотнета і дуже добре себе почуваю на посаді техліда 😎

  • @МаксимКазадаев-о5л
    @МаксимКазадаев-о5л 2 ปีที่แล้ว

    Очень круто! Спасибо большое за такое доступное и понятное объяснение всего)

  • @mr.warpunch6007
    @mr.warpunch6007 2 ปีที่แล้ว

    Сергей - гуру!
    Спасибо!

  • @ghustaffstrudiewic6926
    @ghustaffstrudiewic6926 3 ปีที่แล้ว

    Классный урок, очень приятно слушать

  • @ЕвгенийБезфамильный-ш3д
    @ЕвгенийБезфамильный-ш3д 6 ปีที่แล้ว +21

    Спасибо с Украины) Лайк

  • @solserjsolserj7774
    @solserjsolserj7774 6 ปีที่แล้ว +1

    А есть тут на канале видео о циклических сдвигах в двумерных массивах? А то про сдвиги в одномерных массивах информации много, а про двумерные что-то не нахожу толкового... А вообще очень хорошо и доходчиво всё объясняется. Сергей - молодец!

  • @КаринаМавлетова-л9б
    @КаринаМавлетова-л9б 2 ปีที่แล้ว

    Очень круто и интересно!
    Спасибо большое:)

  • @АндрейТоцкий-л4и
    @АндрейТоцкий-л4и 4 ปีที่แล้ว

    *Большое спасибо! Очень полезное видео!*

  • @СергейКоролев-о1ю
    @СергейКоролев-о1ю 3 ปีที่แล้ว

    Прекрасное объяснение! 🤟🤟

  • @Непрофессионалымы
    @Непрофессионалымы ปีที่แล้ว +1

    ты лучший

  • @enternamoser689
    @enternamoser689 8 หลายเดือนก่อน

    Огромное спасибо вам🔥

  • @danilguseinov1430
    @danilguseinov1430 4 ปีที่แล้ว

    Ты просто лучший!!!

  • @pavel2232
    @pavel2232 6 ปีที่แล้ว +8

    А чистить данные в ячейках массива через null или nullptr здесь ненужно, как в случае с обычными данными?

    • @Kokurorokuko
      @Kokurorokuko 5 ปีที่แล้ว +2

      тоже интересно

    • @crackall1946
      @crackall1946 4 ปีที่แล้ว

      Напишите, пожалуйста, если вы нашли ответ на вопрос

    • @crackall1946
      @crackall1946 4 ปีที่แล้ว

      @@Kokurorokuko Напишите, пожалуйста, если вы нашли ответ на вопрос

    • @leshiyni
      @leshiyni 4 ปีที่แล้ว

      @@crackall1946 имеет смысл установить в nullptr только сам указатель на массив (т.е. arr = nullptr)

    • @crackall1946
      @crackall1946 4 ปีที่แล้ว

      @@leshiyni давно уже рашил этот вопрос. У меня плкйлист к концу подходит

  • @sleepyNovember_project
    @sleepyNovember_project 11 หลายเดือนก่อน

    удоляй свой моссив, удоляй сказал, он динамический 💣

  • @Ms001man
    @Ms001man 6 ปีที่แล้ว

    За урок спасибо!

  • @ДГаусс
    @ДГаусс 4 ปีที่แล้ว

    спасибо за урок! :)

  • @ВладиславФедун
    @ВладиславФедун 6 ปีที่แล้ว +5

    just thank you!

  • @pavelefin9069
    @pavelefin9069 7 ปีที่แล้ว +6

    Уважаемый Сергей ты можешь сделать рубрику где вы будете отправлять исходники с ошибками а мы будем их
    исправлять

    • @SimpleCodeIT
      @SimpleCodeIT  7 ปีที่แล้ว +1

      нет, такого не будет.

    • @Рыззе
      @Рыззе 6 ปีที่แล้ว

      это глупо

  • @oxygenoxygeno
    @oxygenoxygeno 3 ปีที่แล้ว +1

    Подскажите пожалуйста как очистить полностью динамическую память

    • @Musikan0
      @Musikan0 2 ปีที่แล้ว

      ваша переменная = nullptr или NULL;

    • @alienhazzard7201
      @alienhazzard7201 11 หลายเดือนก่อน

      @Musikan0
      И доя чего ты дал неправильный ответ?

  • @_mirai
    @_mirai 5 ปีที่แล้ว +2

    Вопрос, нужно ли при работе с массивом стирать данные из указателя или нет?

    • @crackall1946
      @crackall1946 4 ปีที่แล้ว

      Напишите, пожалуйста, если вы нашли ответ на вопрос

    • @kadencode5347
      @kadencode5347 2 ปีที่แล้ว +1

      стирать адресс указателя вообще не обязательно в любом случае(операционная система сама стек чистит закрывая программу). Это делается ради удобства и для того, чтобы случайно не зацепить чужие данные

  • @polmesh2057
    @polmesh2057 ปีที่แล้ว

    Благодарю 🙏

  • @qqorvex
    @qqorvex 7 ปีที่แล้ว +1

    Какую комбинацию клавиш Вы используете для создания конструкции цикла for ?

    • @SimpleCodeIT
      @SimpleCodeIT  7 ปีที่แล้ว +7

      пишем for потом нажимаем TAB;

    • @qqorvex
      @qqorvex 7 ปีที่แล้ว +2

      спасибо)

  • @pigsel2509
    @pigsel2509 ปีที่แล้ว +1

    Можно вопрос: динамическая память для массива еще актуальна? у меня компилятор не ругается на такое:
    int n;
    cin >> n;
    int a[n];
    тем более есть просто vector

  • @TheWladberlin
    @TheWladberlin 5 ปีที่แล้ว +1

    Спасибо, я больше не буду издеваться над памятью моего компа...

  • @user12285
    @user12285 2 ปีที่แล้ว +1

    7:11, боль

  • @aln9391
    @aln9391 6 ปีที่แล้ว

    В matlab все объекты динамические и там была команда pack. В си были функции mark и relese , что посоветуете в cpp?

  • @outcast-cr5yy
    @outcast-cr5yy 6 ปีที่แล้ว +2

    Спасибо

  • @АртурГребешков-к6ж
    @АртурГребешков-к6ж 6 ปีที่แล้ว +1

    Спасибо!

  • @screamstream1161
    @screamstream1161 5 ปีที่แล้ว +2

    Нельзя получить чужие данные, только данные, которые относятся к процессу

  • @itskaslolkassidie8168
    @itskaslolkassidie8168 2 ปีที่แล้ว +1

    that`s amazing!!!

  • @solitudeiscute8495
    @solitudeiscute8495 4 ปีที่แล้ว +1

    1.5 скорости можно смело ставить , очень медленно , на за инфу спасибо

    • @temshik.invalid
      @temshik.invalid 3 ปีที่แล้ว +1

      для тебя может да, но большинству новичков надо все успевать переваривать в голове, чем не успевать обдумывать услышанную информацию

    • @АркадийЛандышев-э3д
      @АркадийЛандышев-э3д ปีที่แล้ว +1

      зато даже на х2 все слова разборчивы

  • @kostia1242
    @kostia1242 9 หลายเดือนก่อน

    Скажите пожалуста как создать динамический масив, если размер будет постоянно менятся.
    В векторах я могу использовать команду название_вектора.push_back(значение). Как это сделать с динамическим масивом? Я понимаю, что это уроки на с++, но мне нужен ответ на вопрос на язике с. Заранее спасибо.

  • @ДмитрийЦарев-е8б
    @ДмитрийЦарев-е8б 6 ปีที่แล้ว

    А не подскажите, почему в xcode в статическом массиве, когда задаем ему размерность можно отбросить const?

  • @ppm5121
    @ppm5121 6 ปีที่แล้ว +1

    Как заполнить элементы массива нужными мне числами ?

    • @TheWladberlin
      @TheWladberlin 5 ปีที่แล้ว

      Вместо rand() заполняй своими нужными.

  • @Евгений-к1г9е
    @Евгений-к1г9е 7 ปีที่แล้ว +3

    Здравствуйте, Сергей. Будут ли бинарные деревья рассматриваться в дальнейшем?

  • @Pirate_Serho
    @Pirate_Serho 3 ปีที่แล้ว +1

    Вспомнил сейчас, что после урока с массивами я попробовал указывать размеры двумерного массива через Cin и всё получилось. Теперь узнал, что получиться не должно было. Уже 2021-й год, может какие изменения завезли, есть информация об этом?
    Доп.: Вспомнил, что делал это уже после урока, да еще и на телефоне, который просил ввести числа до запуска программы, но после нажатия кнопки компиляции. Вопрос отпал.

    • @shag-foal
      @shag-foal 5 หลายเดือนก่อน

      Все правильно, так работает даже на C в старых версиях (имею ввиду указывать размеры и заполнять массиву н-мерные). Мне кажется автор просто решил так предостеречь новичков наверное, а может просто оговорился.

  • @chelovechek7773
    @chelovechek7773 7 หลายเดือนก่อน

    спасибо!

  • @oksik193
    @oksik193 5 ปีที่แล้ว

    добрый день, у меня такой вопрос, пишу логику для плиточной игры на готовом движке (ue4), в проекте сделал класс инвентарь и в него добавил динамический целочисленный массив для записи Id предметов которые находятся у игрока, динамический потому, что инвентарь в процессе игры должен расширяться с уровнем игрока, в ue4 в каждом классе есть событие event tick которое вызывается каждый кадр, правильно ли я понимаю, что каждый кадр для массива будут выделяться разные ячейки памяти и выбираться такие адреса что бы мой массив поместился следуя арифметике массивов?

  • @Shislivchik11
    @Shislivchik11 4 ปีที่แล้ว

    Pochemu fuznkciya rand() vizivaet vsegda odni i te je chisla v odinakovo razbrosannom poryadke?

    • @ryyzik8444
      @ryyzik8444 4 ปีที่แล้ว

      Посмотри 29 урок, там подробно все рассказано

    • @temshik.invalid
      @temshik.invalid 3 ปีที่แล้ว

      орфографический инсульт

    • @kadencode5347
      @kadencode5347 2 ปีที่แล้ว

      потому что нужно ввести сид. Для одинаковых сидов одинаковые числа.

  • @dvigatelist3834
    @dvigatelist3834 3 ปีที่แล้ว

    Если я создаю функцию которая возвращает динамический массив, то когда мне её нужно убивать delet-ом? в теле функции или при её вызове?
    double* Gauss(...)
    {
    ...
    return x;
    delete[] x; // тут?
    }
    int main()
    {
    double* x = new double[n]
    x = Gauss();
    delete[] x; // или тут?
    }

    • @Сергей-т9д7в
      @Сергей-т9д7в 3 ปีที่แล้ว +1

      Функцию можно организовать так, что при одном условии она создаёт массив, а при другом - убивает. Я думаю что признаком хорошего тона является создание и убивание в рамках одного объекта.

  • @francheeze
    @francheeze ปีที่แล้ว

    А как музыка называется?

  • @Михаил-ю8ц2в
    @Михаил-ю8ц2в 4 ปีที่แล้ว +1

    в чем преимущество динамического массива, чем статического, да и в целом, чем лучше динамическое выделение памяти, чем статическое

    • @AV1ch
      @AV1ch 4 ปีที่แล้ว +2

      В объёме. «Статический» выделяется в стеке, там места очень мало и его объём не увеличивается, и туда можно поместить только небольшие массивы.
      К тому же, все переменные в стеке недолговременные, уничтожаются при выходе из области, где переменная была объявлена. А в куче - хранится до тех пор, пока не убрать (delete).

  • @remdiremi6510
    @remdiremi6510 4 ปีที่แล้ว

    Уважаемый Сергей!Если вы увидите ответьте пожалуйста!Во первых спасибо вам большое за эти уроки!Дошел вот 67 видео очень многое узнал,сам учусь в университете в Турции,благодаря вам я даже впереди того что обучают!!Вы дойстойны уважение!!Хотел у вас спросить на счет этой темы,вот у меня выходят разные числа в массиве да,но адреса одни и те же,это нормально?заранее благодарю!

    • @lehasamarsky2002
      @lehasamarsky2002 2 ปีที่แล้ว

      Как в Турции образование? На кого конкретно учитесь?

  • @dakashi8778
    @dakashi8778 8 หลายเดือนก่อน

    Спасибо большое за урок, все очень понятно кроме одного момента. Почему всё-таки необязательно писать const у переменной size. Понятно что это с помощью new как-то работает, но как именно. Урок про new и delete смотрела все равно не поняла этот момент

    • @_qubbix
      @_qubbix 8 หลายเดือนก่อน

      если зададим константу для сайза, то нельзя будет менять его значение вводом любого числа, и на выходе получим обычный статический массив

    • @dumgik5811
      @dumgik5811 5 หลายเดือนก่อน

      @@_qubbix это понятно, но вопрос тут в другом. почему массив вообще создается с неконстантным размером?

    • @МодельерКонструктор
      @МодельерКонструктор หลายเดือนก่อน

      @@dumgik5811 Потому что это динамический массив. Пользователь программы может ввести размер динамического массива, по ходу выполнения программы, тогда под этот размер и выделится память. Какой размер введёт пользователь заранее неизвестно.
      В статическом массиве память выделяется сразу, как только запускается программа, потому программе надо знать размер статического массива в самом начале, ещё при запуске, а не по ходу выполнения, как для динамического массива. Размер статического массива прописывает программист в самой программе, а не пользователь.

  • @АндрейКурдюмов-с9ю
    @АндрейКурдюмов-с9ю 6 ปีที่แล้ว +1

    Простите, у меня есть вопрос:мне преподователь (по с++) говорил что [] в delete не нужны.

    • @TheWladberlin
      @TheWladberlin 5 ปีที่แล้ว +2

      значит надо еще где-нибудь поискать, что по этому поводу пишут

    • @ВананаБанана-ы7ю
      @ВананаБанана-ы7ю 3 ปีที่แล้ว

      вроде, если без [ ], то очистится только нулевой элемент

    • @alienhazzard7201
      @alienhazzard7201 11 หลายเดือนก่อน

      @user-lp5ry7se4k
      Твой преподаватель - мудак, не знающий С++

  • @Kokurorokuko
    @Kokurorokuko 5 ปีที่แล้ว

    Насколько мне известно, статические массивы тоже можно объявлять как неконстантные и инициализировать через ввод.

    • @Kokurorokuko
      @Kokurorokuko 5 ปีที่แล้ว

      Я частично прав. Почему-то в Dev C++ не запрещено создавать массив из n элементов, где n - не константа. А в Visual Studio так нельзя. Почему так?

    • @crackall1946
      @crackall1946 4 ปีที่แล้ว

      @@Kokurorokuko компиляторы разные

  • @safocl9768
    @safocl9768 6 ปีที่แล้ว

    я вот кстати хз, но у меня компилятор сразу инициализирует массив со значением элементов 0 при интовом массиве.
    версия компилятора:
    `--> g++ --version
    g++ (GCC) 8.2.1 20180831
    Copyright (C) 2018 Free Software Foundation, Inc.
    п.с. с типом дабл тожэ самое (проверил на всякий случай, не округляет ли интовый тип мусор до нуля).

    • @denis4899
      @denis4899 5 ปีที่แล้ว

      По сути переменная будет инициализирована значением 0 только вне функции.

  • @user_x138
    @user_x138 3 ปีที่แล้ว

    После создания динамического массива хочу в цикле for присвоить nulptr для всех arr + i. Вижуал выдает ошибку. Почему?

  • @vaiman2062
    @vaiman2062 4 ปีที่แล้ว

    Память не нагрузилась, а вот проц сразу наполовину и на буст частоты полетел)))

  • @gg_player6689
    @gg_player6689 ปีที่แล้ว +1

    Чем вектор от динамического массива отличается?

    • @princessmary5556
      @princessmary5556 ปีที่แล้ว

      Вектор - шаблон класса. Дин. массив - это объект, который расположенный в дин. области памяти.

  • @RoDoS679
    @RoDoS679 5 หลายเดือนก่อน

    А у кого V.S. 2022
    Можете сказать что делать если
    При обращении к динамической памяти
    Вызывается исключение

  • @rerurkful
    @rerurkful 5 ปีที่แล้ว +1

    Вопрос, вы хотите сказать что система при выделении динамической памяти не контролирует выход за нее ?

  • @Kokurorokuko
    @Kokurorokuko 5 ปีที่แล้ว

    Почему компилятор в записи int *arr = new int [size] перемещает значок звездочки к int? То есть получается так:
    int* arr = new int [size]. У Вас так не происходит.

    • @Артём-р1ь7ф
      @Артём-р1ь7ф 5 ปีที่แล้ว

      А я всегда пишу int*, а нет int *. Так более понятнее. И для себя я понимаю, что указатель типа int. А когда *на, то это уже само значение, которое лежит в ячейке памяти

  • @gorutskii
    @gorutskii 6 ปีที่แล้ว

    Сергей, здравствуйте! Спасибо за подробный рассказ. ПОдскажите как удалить часть массива, тем самым уменьшить его длину?

  • @tohachannel5621
    @tohachannel5621 7 ปีที่แล้ว

    через отладчик можно посмотреть значение любого элемента массива, нужно навести на квадратную скобку тогда покажется значение i-того элемента

  • @babushka228gl
    @babushka228gl 7 ปีที่แล้ว

    А можно ли напрямую подключиться к ячейке памяти?

    • @SeshAlex
      @SeshAlex 6 ปีที่แล้ว

      Арифметика указателей урок посмотри!

  • @oljaolsa7261
    @oljaolsa7261 4 ปีที่แล้ว

    почему у меня при таком же коде, как на видео, адрес ячеек динамического массива одинаковый? а на видео с шагом в 4 байта?

  • @elinaallakhverdova382
    @elinaallakhverdova382 5 ปีที่แล้ว +1

    Смотря это видео, понимаю, зачем в универе у нас преподают язык Ассемблер на примере процессора Intel 8086.

    • @shag-foal
      @shag-foal 5 หลายเดือนก่อน

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

  • @infinity-w
    @infinity-w 2 ปีที่แล้ว

    Интересно, если я например выделил размер для массива на 10, а потом изменил размер на 20, но за десятым будут чужие данные, что произойдет??

  • @eixi16
    @eixi16 4 ปีที่แล้ว +1

    И да, я попробовал создать массив до ввода его размера, выдало ошибку - Коррупция кучи. и программа упала. Так что, на заметку возьмите.

  • @AxeeShift
    @AxeeShift 4 ปีที่แล้ว +1

    Ребят, подскажите почему у меня у ячеек одинаковые адреса?
    Это второй пример из урока где цифры рандомные. В первом примере так же одинаковые адреса
    1 0099C5FC
    7 0099C5FC
    4 0099C5FC
    0 0099C5FC
    9 0099C5FC

    • @НатальяСтеценко-р5г
      @НатальяСтеценко-р5г 3 ปีที่แล้ว

      у меня тоже.

    • @Nena1051
      @Nena1051 2 ปีที่แล้ว

      скорее всего вывод только первой ячейки без арифметики индексов

  • @Kobzarko
    @Kobzarko 6 ปีที่แล้ว

    А у меня не выводится массив через массив. Беру данные одного дин. массива вставляю в другой и мне компилятор выводит мусор. Интересно почему. Вывод делаю правильно.

  • @mikesteinar2713
    @mikesteinar2713 4 ปีที่แล้ว

    Класно!

  • @sogood3868
    @sogood3868 2 ปีที่แล้ว

    А как почистить в памяти этот массив? delete [] arr чистит только первую ячейку

    • @luckiller420
      @luckiller420 2 ปีที่แล้ว +1

      for попробуй исходя из размера

    • @sleepyNovember_project
      @sleepyNovember_project 11 หลายเดือนก่อน

      В интернете прочитал, что всё же (по крайней мере для одномерного динамического массива) delete[] разрешает использовать эту область оперативной памяти другим программам, а значения элементов там могут оставаться, но их уже могут спокойно перезаписать другие программы
      Не знаю насколько правда

    • @alienhazzard7201
      @alienhazzard7201 11 หลายเดือนก่อน

      @sleepyNovember_project
      На 100%