0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 21
|
||||||
1 | ||||||
Выделение памяти под динамический массив01.03.2013, 00:07. Показов 1400. Ответов 3
Метки нет (Все метки)
Нужна помощь, кому не трудно откликнитесь. Нубас вообще в указателях и выделении памяти.
Алгоритм и работа правильная. Проблема только в выделении памяти и передачи переменных функциям, из-за пробела в указателях.
0
|
01.03.2013, 00:07 | |
Ответы с готовыми решениями:
3
Выделение памяти под динамический массив строк Выделение памяти под динамический массив выдает ошибку Выделение памяти под двумерный массив Динамическое выделение памяти под массив |
...
1906 / 1326 / 965
Регистрация: 12.02.2013
Сообщений: 2,172
|
||||||
01.03.2013, 06:46 | 2 | |||||
Исходник + бинарник: program.7z
1
|
0 / 0 / 0
Регистрация: 16.06.2010
Сообщений: 21
|
|
01.03.2013, 20:40 [ТС] | 3 |
anmartex,
спасибо большое. Я исправил сам и работает. Если можно, то у меня есть вопросы. 1. Зачем использовать двойной указатель? Я всюду использовал один указатель и только на матрицу. 2. Как работают (int**), (int*) и (int)? В чем разница? 3. Как правильно определить нужный объем памяти? Я, например выделил (n*n+1) Спасибо.
0
|
...
1906 / 1326 / 965
Регистрация: 12.02.2013
Сообщений: 2,172
|
|
04.03.2013, 07:50 | 4 |
Извините за столь долгое молчание, дела.
Начнём пожалуй вообще с понятия указатель. Вы, я полагаю, уже поняли, что это такая же переменная, только в себе хранит адрес участка памяти. Т.е. выглядит это примерно так: Основной особенность такой переменной является применение к ней разадресации, т.е. когда вы пишите *b, происходит переход по адресу хранимого в переменной b. Для простых переменных разадресация не применима. И т.к. указатель хранит всего-лишь адрес, то он применим как к конкретной переменной, так и к вектору (массиву) значений. Т.е. вы можете получить значение так *b, и так b[0] (по сути компилятор преобразует эту запись в *(b+0)). Соответственно ваш массив представляется следующим образом: Как видите, такой массив - это указатель на список указателей векторов. Поэтому и выделение памяти было хитрым:
P.S.: вообще-то это всё рассматривается практически в любой книге по C/C++.
0
|
04.03.2013, 07:50 | |
04.03.2013, 07:50 | |
Помогаю со студенческими работами здесь
4
Выделение памяти под трехмерный массив Динамическое выделение памяти под массив Выделение памяти динамически под массив Выделение памяти под одномерный массив Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |