Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sergikx
1 / 1 / 0
Регистрация: 10.09.2014
Сообщений: 59
#1

Функция для очистки памяти, выделенную под массив структур - C++

14.03.2015, 16:28. Просмотров 433. Ответов 3
Метки нет (Все метки)

Как правильно очистить память в данном случае?
Есть структура
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct a
{
    char *a1;//выделял память под строку
    char *a2;
    union Info
    {
        struct b
        {
            char *b1;//выделял память под строку
        }bb;
        struct c
        {
            char *c1;//выделял память под строку
            char *c2;
        }cc;
    }info;
}*aa;//выделял память под массив структур
зы. очистка памяти в отдельной функции
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2015, 16:28
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция для очистки памяти, выделенную под массив структур (C++):

Почему не очищает память, выделенную под массив структур - C++
#include <cstdlib> #include <iostream> using namespace std; const int ar_size=20; struct CandyBar { char name; double...

Выделение памяти под массив структур - C++
Добрый день. Подскажите в чём ошибка. #pragma hdrstop #pragma argsused #include <stdio.h> #include <iostream> struct...

Выделение памяти под массив структур - C++
Возникла проблема в том что не могу никак эфективно реализовать выделение памяти под массив структур, более того: единожды выделив память я...

Выделение динамической памяти под массив структур - C++
Добрый день, уважаемые! Пишу функцию выделения памяти под массив структур. Но программа не хочет правильно работать. подскажите пожалуйста,...

Выделение динамической памяти под массив структур - C++
Здравствуйте! Пытаюсь выделить память под массив структур, считать с клавиатуры, вывести на экран и удалить выделенную память. Подскажите в...

Динамическое выделение памяти под массив структур (new/delete) - C++
Люди добрые, подскажите пожалуйста, где в моем коде закралась ошибка? Интернет перечитал, во всех примерах код, подобный моему работает, а...

3
zss
Модератор
Эксперт С++
6690 / 6252 / 2084
Регистрация: 18.12.2011
Сообщений: 16,324
Завершенные тесты: 1
14.03.2015, 16:40 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Sergikx Посмотреть сообщение
char *b1;//выделял память под строку
}bb;
struct c { char *c1;//выделял память под строку
c1 и b1 лежат в одном месте.
Когда выделяете память под c1 портите адрес b1.
Так и задумано?

А так порядок должен быть такой
1. В каждом элементе aa[i] удаляете c1,c2,a2,a1
2. Удаляете aa.

b1 удалять не нужно по вышеуказанной причине.
1
Sergikx
1 / 1 / 0
Регистрация: 10.09.2014
Сообщений: 59
14.03.2015, 16:52  [ТС] #3
zss, смысл в следующем:в зависимости от a2 будет выделяться память под b1, либо под c1
0
zss
Модератор
Эксперт С++
6690 / 6252 / 2084
Регистрация: 18.12.2011
Сообщений: 16,324
Завершенные тесты: 1
14.03.2015, 16:57 #4
Но в union у Вас хранятся не данные а УКАЗАТЕЛИ.
Соответственно без разницы под что выделять память.
Адрес b1 будет синоним адреса c1
0
14.03.2015, 16:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2015, 16:57
Привет! Вот еще темы с ответами:

Вылетает функция очистки памяти двумерного динамического массива - C++
Я написал функции добавления и удаления столбцов и строчек двумерного динамического массива, создал меню, но когда сделаю несколько...

Не могу удалить динамически выделенную память под массив - C++
Здравствуйте. Изучил сегодня динамическое выделение памяти и не могу ее удалить. Подскажите где ошибка и, если возможно, объясните почему...

Освобождение памяти, выделенной на динамический массив структур - C++
Есть динамический массив структур. Как я понимаю, delete A не производит полной очистки памяти в данном случае, потому нужно использовать...

Динамический массив структур и функция - C++
Требуется передать в функцию динамический массив структур для редактирования Вот наработки: #include <stdio.h> #include <stdlib.h>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru