PDA

Просмотр полной версии : Указатели на элемент массива


Nata123
13.06.2006, 14:03
есть массив точек


arrPoints = new Array();
arrPoints[i]['x'] = new Array();
arrPoints[i]['y'] = new Array();

есть массив отрезков

arrSections = new Array();
arrSections['a'] = new Array();
arrSections['b'] = new Array();

мне нужно в поле arrSections ['a'] [i]
хранить указатель на элемент массива arrPoints[j],

arrSections['a'][i] = arrPoints[5];
arrSections['b'][i] = arrPoints[2];


т.е. чтобы когда в arrPoints[5]['x'] менялось число,
соответственно, когда обращаться к arrSections ['a'] [i] ['x'] выдавалось значение arrPoints[5] ['x'],
как это сделать?

KPaul
13.06.2006, 23:36
Сильно не вчитывался, но вроде и так все уже сделано:
arrSections['a'][i] = arrPoints[5];
Я вижу здесь только ссылочные данные.
PS Или я кокретно не врубаюсь :)

Techmaker
14.06.2006, 08:38
запись указателя:
arrSections['a'][i] = 5;
arrSections['b'][i] = 2;

как взять:
arrPoints[ arrSections['a'][i] ]['x'];
arrPoints[ arrSections['a'][i] ]['y'];

arrPoints[ arrSections['b'][i] ]['x'];
arrPoints[ arrSections['b'][i] ]['y'];

=)

Nata123
14.06.2006, 13:33
вот конкретный пример

arrPoints = new Array();

arrPoints[0] = new Array();
arrPoints[0]['x'] = 1;arrPoints[0]['y'] =2;
arrPoints[1] = new Array();
arrPoints[1]['x'] = 3;arrPoints[1]['y'] =4;

arrSections = new Array();
arrSections['a'] = new Array();
arrSections['b'] = new Array();

arrSections['a'][0] = arrPoints[0];
arrSections['b'][0] = arrPoints[1];

trace(arrSections['a'][0]['x']);


выдается undefined

если делать так


arrSections['a'][0] = new Array();
arrSections['b'][0] = new Array();

arrSections['a'][0] = arrPoints[0];
arrSections['b'][0] = arrPoints[1];

то выдается правильное значение, но это уже не указатели, а копирование вектора

KPaul
14.06.2006, 14:23
2 Nata123
Скопируй первый блок своего кода из пердыдущего поста в первый кадр рута чистого документа.
Я так сделал, у меня в трейсе 1. Вроде все ок.

PS Второй блок кода не имеет смысла, так как ты просто перезаписываешь сылки на массивы.

Nata123
14.06.2006, 14:35
ну, мистика, елки -палки...спасибо!