|
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 26
|
||||||
Возврат функцией массива структур27.05.2014, 17:39. Показов 4358. Ответов 23
Метки нет (Все метки)
Пишу программу, которая в зависимости от выбора пользователя считывает информацию о студентах, вводимую с клавиатуры, либо использует заранее подготовленный массив. После этого сортирует массив и выводит таблицу в виде упорядоченного по группам и алфавиту списка. Проблема с использованием массива-заготовки. Как правильно передать его в функцию? И еще вопрос: вот у меня есть структура students, у нее поля name, group и др. Можно ли получить размер определенного поля структуры, не используя непосредственно переменных с этим структурным типом (т.е., я знаю, что, если student1 - переменная структурного типа students, можно написать "sizeof (student1.name)", а можно ли еще как-то)?
Кликните здесь для просмотра всего текста
0
|
||||||
| 27.05.2014, 17:39 | |
|
Ответы с готовыми решениями:
23
Возвращение функцией значения динамического массива структур Сортировка элементов массива структур шаблонной функцией
|
|
|
||
| 31.05.2014, 15:21 | ||
|
то есть из одного места в памяти в другое, ё-моё! И и источник и приёмник копируемых данных должен быть выделенной памятью! иначе ты скопируешь default_students_arr неизвестно куда! А надо, чтобы было известно, т.е. заранее выделить место для копии default_students_arr, чтобы это место было такого же размера!
0
|
||
|
0 / 0 / 0
Регистрация: 25.05.2014
Сообщений: 26
|
|
| 31.05.2014, 16:44 [ТС] | |
|
Можно ли это сделать, не копируя один массив в другой, а присвоить указатель на массив другому указателю?
0
|
|
|
|
|
| 31.05.2014, 18:35 | |
|
Exzotick, нет, так как этот массив - локальный внутри этой функции и указатель на него будет действовать только внутри неё.
После возвращения из функции этот массив (default_students_arr) будет "уничтожен", точнее затёрт данными из других функций, а может и не затёрт, в любом случае сохранность данных не гарантируется. Поэтому нужно поэлементно копировать данные в память, которая была заранее выделена до вызова этой функции и соответственно гарантированно сохранится и после выхода из неё.
0
|
|
|
12 / 12 / 12
Регистрация: 19.02.2014
Сообщений: 72
|
|
| 31.05.2014, 23:21 | |
|
Если функция char* fill_name (students) будет возвращать return pStud->name;, то не должно быть ошибок.
Если создать статический массив внутри функции, то он умрет в этой же функции, в отличии от динамически выделенной памяти.
1
|
|
| 31.05.2014, 23:21 | |
|
Возврат функцией указателя на функцию Возврат функцией экземпляра класса
Как сделать возврат функцией (или процедурой) массива Возврат значения функцией Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|