Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.09.2014, 14:37   #1
tolikprankster
Пользователь
 
Регистрация: 09.02.2013
Сообщений: 60
По умолчанию Указатель на двухмерный массив

Собственно хочу получить доступ к элементам массива через индексирование указателя:

Код:
bool **p;
bool box[VERTBLOCKS][HORIZBLOCKS],*p1[VERTBLOCKS];
for(int i = 0; i < VERTBLOCKS; i++)
		for(int j = 0; j < HORIZBLOCKS; j++)
			box[i][j] = false;
for(int i = 0; i < VERTBLOCKS; i++)
                 p1[i] = box[i];
p = p1;
однако так
Код:
p[i][j]
выкидывает из программы
tolikprankster вне форума Ответить с цитированием
Старый 07.09.2014, 15:18   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

память выделять кто будет?
p51x вне форума Ответить с цитированием
Старый 07.09.2014, 17:06   #3
marenko.lilia
Пользователь
 
Аватар для marenko.lilia
 
Регистрация: 25.12.2013
Сообщений: 91
По умолчанию

Cтранно, что ваша среда разработки сразу не показала вам ошибку:
Цитата:
bool box[VERTBLOCKS][HORIZBLOCKS],*p1[VERTBLOCKS];
Указатель таким образом нельзя объявить. И вообще эти объявления через запятую не очень хорошо читаются.

Объявите указатель в отдельной строке и выделите память
Код:
bool *p1 = new bool [VERTBLOCKS];
marenko.lilia вне форума Ответить с цитированием
Старый 07.09.2014, 19:22   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Указатель таким образом нельзя объявить.
Можно. Это массив указателей. Просто в данном случае он бесполезен.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.09.2014, 21:16   #5
marenko.lilia
Пользователь
 
Аватар для marenko.lilia
 
Регистрация: 25.12.2013
Сообщений: 91
По умолчанию

Странно, но у меня мой mvs 2013 выдает ошибку, если я объявляю такой "массив указателей" )
marenko.lilia вне форума Ответить с цитированием
Старый 07.09.2014, 21:28   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Это наверное потому что VERTBLOCKS не описан как константа )
Правильно выдает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.09.2014, 22:56   #7
tolikprankster
Пользователь
 
Регистрация: 09.02.2013
Сообщений: 60
По умолчанию

Так, а по теме что то можно сказать?
tolikprankster вне форума Ответить с цитированием
Старый 07.09.2014, 23:07   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,833
По умолчанию

По теме прочитайте мой пост. У вас не выделена память и указатель указывает в небо.
p51x вне форума Ответить с цитированием
Старый 08.09.2014, 13:42   #9
challengerr
Участник клуба
 
Аватар для challengerr
 
Регистрация: 30.07.2008
Сообщений: 1,609
По умолчанию

Код из первого сообщения вроде бы компилируется и во время выполнения программы ошибок не выдает.
"SPACE.THE FINAL FRONTIER.This's a voyage of starship Enterprise. It's 5-year mission to explore strange new worlds,to seek out new life and civilizations,to boldly go where no man has gone before"
challengerr вне форума Ответить с цитированием
Старый 08.09.2014, 14:49   #10
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

marenko.lilia

Указатель таким образом нельзя объявить

Правда? А кто запретил? оО

challengerr

Код из первого сообщения вроде бы компилируется и во время выполнения программы ошибок не выдает.

а оно и должно компилироваться и работать. код корректный.
то, что у аффтара выкидывает, это видимо из-за другого.
Rififi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
двухмерный массив nork Помощь студентам 5 19.02.2013 21:04
Двухмерный массив dryshok Общие вопросы C/C++ 1 29.06.2012 07:57
Указатель на массив указателей на массив char'ов... SrgGld Общие вопросы C/C++ 0 19.11.2010 23:35
С# Двухмерный массив Dron17 Общие вопросы C/C++ 2 12.10.2010 10:58
Двухмерный массив Atheist Общие вопросы C/C++ 4 22.11.2007 14:05