Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Указатели на массив


Автор: DCoder 1.10.2007, 19:42
Привет всем!

У меня проблема с переходом с Pascal на С++, не ругайтесь за такой глупый вопрос...  smile  smile 
Я объявил указатель на массив из 3х целых чисел:
Код

int (*pmas)[3];


Как мне теперь выделить под переменную pmas память оператором new? Если бы переменная pmas была указателем на указатель - проблем нет. А что делать в этой ситуации?

Автор: Fazil6 1.10.2007, 20:05
Цитата(DCoder @  1.10.2007,  19:42 Найти цитируемый пост)
Как мне теперь выделить под переменную pmas память оператором new? Если бы переменная pmas была указателем на указатель - проблем нет. А что делать в этой ситуации?

а в чем собственно задача? ты уверен, что тебе нужно именно указатель на массив и именно new?
под переменную pmas память выделять не нужно. Нужно выделять память под массив на который этот указатель указывает.
Код

int (*pmas)[3];  // тут определяется переменная pmas (под нее выделяется память )

    int mas[3];  // выделяется память под статический массив 
    pmas = &mas;   // инициализация pmas
         (*pmas)[0] = 33;  // доступ к нулевому элементу mas

Автор: JackYF 1.10.2007, 20:07
глупость сказал

Автор: jonie 1.10.2007, 20:15
Код

int (*pointer2array)[ARRAY_SIZE] = new int[1][ARRAY_SIZE];
//аналогично двумерные
int (*lp22Darray)[ARRAY_SIZE][ARRAY_SIZE] = new int[1][ARRAY_SIZE][ARRAY_SIZE];

Автор: DCoder 1.10.2007, 21:41
Fazil6, ну эт-то понятно smile

jonie, а блин... Точно!  smile 

Спасибо!


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)