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

Работа с памятью через malloc,realloc и free - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести эдементы матрицы с помощью статических и динамических массивов http://www.cyberforum.ru/cpp-beginners/thread694276.html
помогите, пожалуйста, как написать код в с++. Дана матрица размера A * B. Вывести ее элементы в следующем порядке: первый столбец сверху вниз, второй столбец снизу вверх, третий столбец сверху вниз, четвертый столбец снизу вверх и так далее. елементы вводятся с клавиатуры, как и число строчек и столбцов. Кроме того, надо сделать 2 способами: с помощью статических и динамических массивов.
C++ Использовать Vector вместо array Помогите, пожалуйста, переписать программу чтобы заменить array на Vector : // Sorting an Array #include <iostream> void fill_array(int a, int size, int& number_used); void sort(int a, int number_used); http://www.cyberforum.ru/cpp-beginners/thread694270.html
Русский язык не могу настроить C++
Здравствуйте... Не знаю как и где тут влепить setlocale(LC_ALL, "Russian");, пробовал писать его под int main, но ничего так и не получилось... Не мог бы мне кто то помочь русифицировать мою программу. Спасибо! #include <iostream> // ïîäêëþ÷àå #include <cmath> #include <locale> #include <locale.h> #include <cstdlib>
C++ error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов
привет всем господа программисты ! как исправить такую ошибку "error C2064: результатом вычисления фрагмента не является функция, принимающая 0 аргументов". IDE vc++ вот описан функтор #pragma once #include "rgb2hsl.h" #include <vector> #include <iostream> using namespace std;
C++ Разбиение проекта на .h http://www.cyberforum.ru/cpp-beginners/thread694263.html
Эсть класс А от его наследую класс Б, в .h пишу #ifndef B_H #define B_H #include "A.h" class B:public A{ ......} #endif B_H в main()
C++ Как переопределить конструктор класса Здравствуйте. У меня есть пример такого кода:#include <cstdio> template <int n> class B { public: int size; int a; B() : size(n) { printf( "B::B()\n" ); for ( int i = 0; i < size; i++ ) { подробнее

Показать сообщение отдельно
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
11.11.2012, 02:53     Работа с памятью через malloc,realloc и free
Цитата Сообщение от maSt Посмотреть сообщение
1 - r = (int *)malloc((1)*sizeof(int)); как я понимаю, эта запись должна выделять памяти на 1 число типа int , но запуская цикл я вижу что туда спокойной влазит намного больше чисел. Почему или что я понял не так?
Потому что вы можете. Та память, куда вы пишете эти числа, не является частью выделенной. Там могут храниться значения других переменных. Вы можете туда писать всякую гадость, но с соответственными неопределёнными последствиями. Проверка границ массивов — это ваша головная боль, а не рантайма Си.

Цитата Сообщение от maSt Посмотреть сообщение
2 - освобождение памяти - на многих форумах показано освобождение памяти через for и free , но при попытке так сделать выкидывает ошибку и могу пользоваться только realloc. Почему так?
Если вы несколько раз выделяете память, надо несколько раз вызывать free(). Если один раз — то один раз без всяких циклов.
 
Текущее время: 12:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru