Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
1 / 1 / 2
Регистрация: 07.10.2013
Сообщений: 170

Переменные в статической и динамической памяти!

03.02.2014, 17:09. Показов 2408. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, подскажите как этот рисунок перевести в программу! тоесть как с помощью программы разместить таким образом переменные в памяти
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.02.2014, 17:09
Ответы с готовыми решениями:

Переменные в динамической памяти!
подскажите как реализовать такое задание: Разместите в динамической памяти две переменные типа структура, содержащую информацию о...

ООП. Переменные-члены в динамической памяти.
Решил я массив в классе динамически создавать и наткнулся на пробелы в знаниях. После безуспешного или кривого поиска решил спросить у...

Проблема с взаимодействием динамической и статической памяти - обращение к статической переменной
Здравствуйте! Помогите решить проблему! Задача такая: написать сортировку бинарным деревом, так что бы данные читались из текстового...

7
 Аватар для Enotniy
101 / 102 / 31
Регистрация: 15.01.2014
Сообщений: 283
03.02.2014, 17:25
yurets17, а прокомментировать можете? Что за структуры такие, что значат стрелки? что значат просто черточки
0
1 / 1 / 2
Регистрация: 07.10.2013
Сообщений: 170
03.02.2014, 17:30  [ТС]
В статической памяти обьявлены 2 переменные! стрелочки и черточки это типа указатели! а в динамической памяти, я так думаю, что это массивы

Добавлено через 1 минуту
вот что-то подобное, но это скорее всего неправильно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void f25(){
    int *p1;
    char  *p2;
    string *p3;
    p1 = new int[3];
    p2 = new char;
    p3 = new string[2];
    *p1 = 78;
    *++p1 = *p2;
    *p2 = 'д';
    *p3 = "Зима";
    cout<<*--p1<<"  "<<*p1<<"  "<<*p2<<"  "<<*p3;
    *p3++;p3 = NULL; cout<<"  "<<p3;
}
0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
03.02.2014, 18:17
C++
1
2
 int *p1;
    p1 = new int[3];
-это, если не заблуждаюсь размещение на кучи (динамическая память)
*p1 = 78; - это присвоение первому элемента массива p1[0]=78.
Вот это оригинально
C++
1
2
 char  *p2;
    p2 = new char;
это должно быть полный аналог char p2;но размещенный (на куче) в динамической памяти и следовательно обращаться придется p2[0]. Зачем
А вот здесь не понял
*++p1 = *p2;//присвоить значение первому элементу p1 взятый из памяти указателя p2 и сместить указатель p1 на один элемент. При этом p2 в этот момент еще не определен, плюс типы не одинаковы. размер p2 меньше p1. т.е. в любом случае эта строчка прочтет мусор...
Одним словом и задание не особо понял, а от кода
0
1 / 1 / 2
Регистрация: 07.10.2013
Сообщений: 170
03.02.2014, 18:23  [ТС]
я же написал, что код скорее всего неправильный! а как по другому объяснить задание я не знаю
0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
03.02.2014, 18:30
Цитата Сообщение от yurets17 Посмотреть сообщение
я же написал, что код скорее всего неправильный! а как по другому объяснить задание я не знаю
Так вы словами объясните что куда разместить, например так
выделить память в стеке (статическая память) для переменной и присвоить ей значение, далее выделить память на кучи (динамическая память) для массива или переменных и проделать с ними следующие операции....

Добавлено через 56 секунд
А то схему мы не поняли.... Да идею кода понять сложно
0
1 / 1 / 2
Регистрация: 07.10.2013
Сообщений: 170
03.02.2014, 18:45  [ТС]
Извините, если что не так! я описал задание так как я его понимаю(хотя не исключено что я сам понимаю его неправильно).

Выделить в стеке память под две переменные(переменные не инициализировать, в них мусор), далее в кучи выделить память под два массива(один из трех элементов, а один из двух). Потом сделать указатель от первой переменной в стеке на нулевой элемент массива(в котором находится значение 78) из трех элементов. Далее со 2 элемента данного массива сделать указатель на какую-то область памяти в в кучи, в которой хранится символ "д". Далее с третьего элемента данного массива сделать указатель на другой массив из 2 элементов. Также от второй переменной в стеке сделать указатель на нулевой элемент второго массива, где находится строка символов "Зима", а в первый элемент данного массива инициализирован как NULL.
0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
03.02.2014, 19:08
Задание уточните, либо я его не понимаю, либо оно тупиковое:
вот это не понял:
Цитата Сообщение от yurets17 Посмотреть сообщение
потом сделать указатель от первой переменной в стеке на нулевой элемент массива
результат каков должен быть? переменная в стеке получит значения первого элемента массива? тогда так:
C++
1
2
3
4
int c;
int *p1=new int[3];
*p1=78;
c=*p1; //либо c=p1[0]
А это как?
Цитата Сообщение от yurets17 Посмотреть сообщение
Далее со 2 элемента данного массива сделать указатель на какую-то область памяти в в кучи, в которой хранится символ "д"
символ занимает один байт а элемент массива int под x86 занимает 4 байта, он и будет читать 4 байта (в 3х последних из которых мусор)....
Цитата Сообщение от yurets17 Посмотреть сообщение
где находится строка
строка - это сама по себе массив, его надо в стеке разместить или как ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.02.2014, 19:08
Помогаю со студенческими работами здесь

Алгоритм выделение динамической памяти под переменные различного типа
послезавтра экзамен, но я не могу найти в интернете ответы на эти вопросы: если знаете где искать, или знате сами ответы, просьба помочь...

Какие переменные типа CARS можно использовать для выделения динамической памяти?
Всем привет! Помогите плиз ответить на вопросы!( Вижу, что тут обсуждают в основном программы, но их я по примерам сделала, а вот с...

Как сделать MFC статической, а не динамической?
это всё тоже из серии &quot;Не работает exe файл на других компах&quot; я предлагаю засунуть в эту тему все решения этой проблемы и закрипить...

CPT: Настройка статической и динамической маршрутизации
Здравствуйте, первый раз пишу на форум вообще. Мне нужна ваша помощь в настройке статической и динамической маршрутизации в следующей...

Заполнение динамической матрицы(дв. массива) аналогично статической
Т.е. простой двумерный массив можно заполнить так: { {0, 0, 0, 0, 0}, {0, 1, 3, 1, 0}, {0, 3, 9, 3, 0}, {0, 1, 3, 1, 0}, {0, 0,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru