imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 02.06.2003, 01:16     # 1
Tyler Derden
Guest
 
Сообщения: n/a

Question Работа с указателями в С++

Подскажите, плиз, как при помощи указателя на указатель создать 2-ый массив.
Моя прога вроде бы и работает, но после getch'а выпадает либо Unhandled exception in 4.exe: 0xC0000005: Access Violation, либо - синий экран смерти.

int *cols=new int[5];//кол-во строк
int **b=&cols;//указатель на массив указателей cols

for(int i=0;i<5;i++) //кол-во элементов в каждой строке
*(b+i)=new int[5];

for(i=0;i<5;i++)
for(int j=0;j<5;j++)
b[i][j]=i*5+j;

for(i=0;i<5;i++){
for(int j=0;j<5;j++)
cout<<b[i][j]<<" ";
cout<<endl;
}

getch();
 
Старый 02.06.2003, 10:48     # 2
alexey_ma
Member
 
Регистрация: 10.03.2002
Адрес: Israel
Сообщения: 245

alexey_ma Нимб уже пробиваетсяalexey_ma Нимб уже пробивается
>>int *cols=new int[5];//кол-во строк
>>int **b=&cols;//указатель на массив указателей cols

Это не указатель на массив указателей, это указатель на указатель на массив int-тов.
попробуй так:
Код:
int** b= new (int*[5]);
for(int i=0;i<5;i++)
	b[i]=new int[5];
for(i=0;i<5;i++)
	for(int j=0;j<5;j++)
		b[i][j]=i*5+j;

for(i=0;i<5;i++)
{
	for(int j=0;j<5;j++)	
		cout<<b[i][j]<<" ";
				
	
	cout<<endl;
}
      getch();
//не забудь удалить
	for( i=0;i<5;i++)
		delete[](b[i]);
	delete[] b;
__________________
Best Regards
alexey_ma вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 12:29.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.