Форум программистов, компьютерный форум CyberForum.ru

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

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

выделение и освобождение памяти - C++

07.11.2011, 15:40. Просмотров 474. Ответов 3
Метки нет (Все метки)

В моей программе есть следующий код:

C++
1
2
3
4
5
6
7
8
9
10
   char* lexems[64]; // массив указателей на символ
 
   char* lexem;      // вспомогательная переменная для хранения слова
   char string[256] = "The quick brown fox jumps over the lazy dog";
   lexem = strtok(string," ,.-");
   
   lexems[0] = new char[strlen(lexem) + 1];
   lexems[0] = lexem;
   
   delete [] lexems[0];
во время выполнения последней строки выдается ошибка, как будто программа пытается освободить невыделенную область памяти, но она выделена тремя строками выше. Из-за чего это может быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2011, 15:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос выделение и освобождение памяти (C++):

Выделение и освобождение памяти в c++ - C++
Не давно наткнулся на такую замечательность : system("PAUSE");//1 раз int *p = new int; // память system("PAUSE");//2 раз ...

Выделение и освобождение памяти - C++
Доброго времени суток. Пишу класс по ООП, и назрел один вопрос, связанный с моментом выделения и освобождения памяти. class SOK { ...

Выделение-освобождение памяти - C++
Добрый день. Написал заготовку под программу. Возник вопрос: правильно ли выделяю-освобождаю память? Программа работает корректно, но...

Освобождение и выделение памяти - C++
Помогите разобраться с программой, где здесь выделение памяти (как я понял это new) и где освобождение памяти. #include <iostream> ...

Выделение и освобождение памяти - C++
Вот встретился с вопросом какой вариант является более правильным и почему. char *Buffer1 = (char *)malloc(65536) char *Buffer2 =...

Освобождение и выделение динамической памяти - C++
Привет народ, такой вопрос: Допустим в main, указателю выделил память, всё разумеется нормально, читаю пишу всё ок, потом передал этот...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
07.11.2011, 15:57 #2
C++
1
 lexems[0] = lexem;
Неверно.

Надо:
C++
1
strcpy(lexems[0], lexem);
Mustik
56 / 56 / 2
Регистрация: 10.07.2011
Сообщений: 229
07.11.2011, 16:06 #3
Цитата Сообщение от ForEveR Посмотреть сообщение
C++
1
 lexems[0] = lexem;
Неверно.

Надо:
C++
1
strcpy(lexems[0], lexem);

Ошибка на delete

А, все, понял. Вы правы
TonyTaponi
1 / 1 / 0
Регистрация: 16.11.2010
Сообщений: 7
07.11.2011, 16:20  [ТС] #4
Да, что-то туплю, спасибо.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2011, 16:20
Привет! Вот еще темы с ответами:

Указатели на строки. Выделение и освобождение памяти - C++
Всем добрый день. Есть два указателя на char. Для первого выделяется память а у второго просто делаем копию с первого. Для 1-го...

Выделение и освобождение памяти в конструкторе и деструкторе - C++
Есть программа с классом содержащим обьекты векторы. Однако по кончанию программы выбивате ошибку _block_type_is_vali(phead->nblockuse)....

выделение памяти и никогда не выполняете* ее освобождение - C++
Как это можно сделать написать программу с бесконечным циклом» в котором постоянно происходит выделение памяти и никогда не выполняете*...

Выделение и освобождение памяти для локальных переменных функций - C++
Привет Столкнулся со следующей проблемой. Написал простенькое приложение: читаем 1 строку из файла на диске, записываем 1 строку в файл...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
07.11.2011, 16:20
Ответ Создать тему
Опции темы

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