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

Динамическая память. Что такое realloc? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программно вызвать BSDOS http://www.cyberforum.ru/cpp-beginners/thread1303670.html
здравствуйте,хочу пошутить над другом сделая ошибку в ос и вызовя бсдос(на сколько я знаю,для этого надо переполнить озу)
C++ Из положительных элементов матрицы сформировать новую. Написать два варианта программы: без применения указателей и с указателями. Ввод массива с помощью генератора случайных чисел. Имя матрицы:N(10,10) Действия:Из полож.элементов матрицы N сформировать матрицу M(10,Kmax),распологая в строки подряд, где Kmax-макс.число полож.элементов строки матрицы N.Записать нули на место отсуствующих элементов. Условия и ограничения: - Builder http://www.cyberforum.ru/cpp-beginners/thread1303668.html
Написать рекурсивную функцию, которая вставляет букву в указанное место C++
Написать рекурсивную функцию, которая вставляет букву в указанное место. Вы должны ввести слово и букву, которая будет вставлена на указанную позицию. Например мы ввели Argentina d 4. Программа должна ввести букву в на 4 позицию и результат должен выглядить Argedntina. Срочно запутался. У меня не получается. #include <iostream> #include <string> using namespace std; string f(string a,...
Вывод в консоль из нескольких потоков C++
Здравствуйте. В программе выводятся данные на консоль из нескольких потоков, из-за чего в консоли получается мешанина. Можно ли как-нибудь заблокировать вывод одного потока, пока другой не закончит вывод?
C++ Проект из нескольких файлов http://www.cyberforum.ru/cpp-beginners/thread1303640.html
Выдает ошибку: error C3861: test: идентификатор не найден. и warning C4627: #include "test.h": пропущен при поиске использования предкомпилированного заголовка. test.h: int test(int); test.cpp:
C++ Показать правую половину матрицы на левую зеркально симметрично относительно вертикальной оси Заполнить матрицу случайными числами. Показать правую половину матрицы на левую зеркально симметрично относительно вертикальной оси. подробнее

Показать сообщение отдельно
DrOffset
6851 / 4062 / 927
Регистрация: 30.01.2014
Сообщений: 6,859
19.11.2014, 16:48     Динамическая память. Что такое realloc?
Цитата Сообщение от Sergooor Посмотреть сообщение
но если я запишу так str = (char*)realloc(str,100) то это тоже работает. и блок памяти тот же
Он тебя путает специально.
Блоки памяти разные. Просто указатель один.
При передаче в realloc, str, который в параметре, указывает на старый блок памяти.
Потом идет работа функции realloc, она в общем случае выделяет новый блок, а старый освобождает. Пока мы не присвоили результат работы realloc некоему указателю, str указывает на освобожденную память (все так же как и в других примерах, которые объясняли выше). После присвоения результата работы realloc указателю str, он начинает указывать на новый блок памяти. Короче говоря, здесь все тоже самое, что и в предыдущих примерах, просто вместо двух экземпляров указателей используется один.
Здесь важно понимать, что значение указателя в параметре копируется при передаче в realloc (т.е. realloc не меняет значение адреса, хранимого в str, через свой параметр).
 
Текущее время: 08:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru