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

массив - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структурный тип данных http://www.cyberforum.ru/cpp-beginners/thread280570.html
Сформировать массив, содержащий сведения о личной коллекции книголюба. Структурный тип содержит поля: шифр книги, автор, название, год издания, местоположение (номер стеллажа). Написать программу,...
C++ Шахматы: определение правильности хода конем Шахматы (Время: 1 сек. Память: 16 Мб Сложность: 18%) Шахматы Совсем недавно Вася занялся программированием и решил реализовать собственную программу для игры в шахматы. Но у него возникла... http://www.cyberforum.ru/cpp-beginners/thread280563.html
C++ Access violation
Помогите пожалуйста. Не могу разобраться. Нашел в каком месте ругается. Но не понял на что именно.void __fastcall TFormSyncronize::FormCreate(TObject*Sender) { ...
C++ Френдовый оператор умножения
class A { protected A (...); ... }; ... class B { public: ...
C++ Чем "operator *=" отличается от "operator *"? http://www.cyberforum.ru/cpp-beginners/thread280510.html
снова застряла, не могу понять, чем этот оператор должен отличаться от оператора*.....? вот он, но это работает только в случае оператора*. Matrix Matrix::operator*=(double x) { Matrix...
C++ двухмерный массив Нужна программа на С Найти для каждой строки сумму элементов нечетных столбцов. М = 3, N = 3 подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4936 / 2516 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
21.04.2011, 11:17
Цитата Сообщение от .Malek. Посмотреть сообщение
то операцией new int*[n] мы выделяем память для столбца 147 и присваиваем М?
вообще так выделяется память под любой массив. и в случае, если этот массив часть матрицы то это будет строка, а не столбец.
В общем взгляни на картинку.
массив
Сначала имеется указатель int **M. Он ни на что не указывает, следовательно пока что он не валиден. Затем к нему применяется операция new int *[n]. Здесь выделяется память на массив указателей типа int. Указатель `M' теперь указывает именно на этот массив. Каждый из указателей в массиве M[0], M[1] ... M[n-1] пока еще не валиден. На следующем этапе в цикле выделяется память для каждого из этих указателей. То есть в итоге получается, что M - это массив массивов. В общем на картинке я думаю это все более понятно будет, чем на словах.
И очень важно очищать память после использования. В порядке обратном выделению, то есть сначала для каждого M[i], а потом для M.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru