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

Переменная + индекс - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Что быстрее массив или файл http://www.cyberforum.ru/cpp-beginners/thread153991.html
Привет! Я тут занялся обработкой содержимого текстовых файлов для этого пишу класс отслеживающий положение курсора в файле (типа номер строки; позиция на строке; текущий символ ну и т.д. - это не...
C++ Запись времени в массив Задача: В течении одной минуты с интервалом в 10 секунд программа должна записывать текущее время с компьютера в массив. А по истечению времени выдавать весь массив в обратном порядке. Подскажите... http://www.cyberforum.ru/cpp-beginners/thread153988.html
ifdef и Ко, указатели в фунциях C++
1.как используются ifdef и endif 2. как реализоввать, ну например, такое: int myFunc(int *one, int *two, int *three) куда описание этих указателей засунуть и как, а еще как сделать указатели на...
C++ Пара вопросов по С++
возникло несколько вопросов, с которыми что то не могу никак разобраться 1. Как происходит выравнивание при создании структуры? struct { double a; int b; char c;}; struct { char a; int b;...
C++ Обработка log-файла http://www.cyberforum.ru/cpp-beginners/thread153931.html
Добрый вечер! Ребята, столкнулся с проблемой, и никак не могу найти ей элегантное решение. В голове крутится всякое, но четко понять не могу. Кроме того, хочется определенной красоты решения. Суть...
C++ Подстрока Всем Приветы, вопрос на сейчас такой: Как получить подстроку из данной строки, если данная задаётся пользователем? Вот пример: #include <iostream> using namepace std; int main(){ char... подробнее

Показать сообщение отдельно
accept
4822 / 3243 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
20.07.2010, 10:16
Цитата Сообщение от PMike
я говорю о том, чтобы создавать переменную в цикле
переменная, созданная внутри цикла, существует только внутри цикла
дело не в цикле, а в блоке

переменные int var1, var2, var3; занимают столько же места, сколько int var[3];

если переменные создаются, то они не удаляются и занимают память
переменная действует до конца блока, поэтому, если ты создаёшь переменную в main(), то она занимает память до конца программы

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

поэтому все твои переменные типа TextLabel1, TextLabel2, TextLabel3
можно привести к виду
C++
1
char **TextLabel;
потом
C++
1
TextLabel = (char **) calloc(3, sizeof(char *));
потом
C++
1
TextLabel[0] = "abcd"; TextLabel[1] = "efgh"; TextLabel[2] = "ijkl";
хочешь увеличить TextLabel в количестве, есть realloc(), ею и уменьшить можно

а потом просто
C++
1
free(TextLabel);
память, которую занимал массив, прикреплённый к указателю TextLabel, становится доступной для новых выделений памяти

это по-простецки

в C++ во многих структурах выделение памяти проводится внутри автоматически

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