Как создать динамический двумерный массив30.03.2016, 19:32. Показов 40412. Ответов 4
Метки нет (Все метки)
Здравствуйте. Не знаю как объявить двумерный массив. Пытался так сделать не подходит
0
|
||||||
| 30.03.2016, 19:32 | |
|
Ответы с готовыми решениями:
4
Используя malloc и realloc создать двумерный динамический массив Создать двумерный динамический массив для переменных произвольного типа |
|
13 / 13 / 5
Регистрация: 02.01.2014
Сообщений: 60
|
||||||
| 30.03.2016, 22:51 | ||||||
0
|
||||||
|
7 / 7 / 3
Регистрация: 22.09.2015
Сообщений: 173
|
|||||||||||||||||
| 08.05.2016, 23:54 | |||||||||||||||||
0
|
|||||||||||||||||
|
0 / 0 / 0
Регистрация: 13.05.2020
Сообщений: 1
|
||||||
| 12.11.2020, 00:26 | ||||||
0
|
||||||
|
2487 / 1151 / 709
Регистрация: 25.04.2016
Сообщений: 3,315
|
|||||||||||
| 12.11.2020, 07:44 | |||||||||||
|
Aliksan, не совсем, malloc может вернуть NULL в случае, если память по каким-то причинам не была выделена, и ваша программа должна на это как-то реагировать, например:
==3437== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==3437== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info 3 7 83 86 77 15 93 35 86 92 49 21 62 27 90 59 63 26 40 26 72 36 11 ==3437== HEAP SUMMARY: ==3437== in use at exit: 0 bytes in 0 blocks ==3437== total heap usage: 6 allocs, 6 frees, 2,156 bytes allocated ==3437== ==3437== All heap blocks were freed -- no leaks are possible ==3437== ==3437== For lists of detected and suppressed errors, rerun with: -s ==3437== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Добавлено через 11 минут Если обратить внимание на количество операций alloc в выводе валгринда. можно заметить, что на массив 3х7 понадобилось 4 таких операции. Есть другой способ, более экономичный:
==3640== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al. ==3640== Using Valgrind-3.15.0 and LibVEX; rerun with -h for copyright info >> 3 7 2.50 1.50 1.25 4.20 4.20 4.33 0.50 4.20 1.33 0.50 2.25 5.00 1.25 0.20 3.25 3.50 1.20 4.25 2.25 2.50 4.50 ==3640== HEAP SUMMARY: ==3640== in use at exit: 0 bytes in 0 blocks ==3640== total heap usage: 4 allocs, 4 frees, 2,156 bytes allocated ==3640== ==3640== All heap blocks were freed -- no leaks are possible ==3640== ==3640== For lists of detected and suppressed errors, rerun with: -s ==3640== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Как видно, в этом случае требуется всего два обращения к памяти, что в два раза меньше. Самое приятное, что при любом размере массива нам всегда понадобится ровно два вызова malloc для запроса памяти под массив и ровно два free для освобождения этой памяти в конце программы. На первый взгляд разница незначительная. Но предположим, что у нас есть двумерный массив, который хранит цвет каждого пикселя картинки 1920 х 1080. Просто на то, чтобы создать такой массив первым способом, понадобится 1081 вызов malloc() Вторым - по-прежнему всего 2.
1
|
|||||||||||
| 12.11.2020, 07:44 | |
|
Помогаю со студенческими работами здесь
5
Как задать двумерный динамический массив
Как создать динамический массив? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|