| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > Ссылки на массивы |
| Автор: reddevil 12.7.2005, 20:11 | ||
| Помогите пожалуйста. Мне надо в программе передавать из одной функции, в другую, двухмерные массивы а по указателю на массив, почемуто получается он одномерный? А вот с одномерным небольшой но гимарой получается. Вот пример моей программы: (Правда небольшой фрагмент) Есть массив выполняющий роль виртуального экрана, для построения вывода на экран игральных кубиков. Еще шесть массивов содержащие "графические грани" этих кубиков, 6 граней - 6 массивов. Массив рамки для грани кубика, надпись WIN и LOSE. Итого 10 массивов. Случайным числом определяю что выпало на кубике и копирую значение соответствуюшей грани кубика в массив экрана, затем второй кубик, а потом вывожу массив экрана на экран, а потом надпись WIN или LOSE соответственно.
Почему?.... Не знаю |
| Автор: sergejzr 13.7.2005, 03:17 | ||
А цикл обнуления нужен обязательно, так как по умолчанию компилер его не делает и в строках лежит мусорж
|
| Автор: reddevil 13.7.2005, 08:38 |
| Спасибо за пример А про обнуление я знал, просто сразу не подумал, делал пример покороче, удалил - лажа, поэтому оставил с |
| Автор: vadims 13.7.2005, 08:53 | ||
| Извини, но вникать в твой код сейчас возможности нет Реагирую на фразу
В C практически невозможно передать массив (только через структуры/классы) - передается указатель - адрес . А Как его использоать - зависит от тебя Тут простая схема распределения памяти - допустим массив char Mas[123][456]; и функция void funct( char *m ) доступ к (i,j) элементу будет выглядеть val = *(m + i*456 + j); |
| Автор: reddevil 14.7.2005, 23:24 |
| vadims Спасибо за ответ, но я и задал свой вопрос именно потому что такой метод мне и показался не |
| Автор: Гость_Dust 16.7.2005, 19:40 | ||
| Дык а не пофиг как передаешь? Главное как используешь... В жизни мало примеров, где размер массива известен и не изменен.
Надеюсь идея понятна? |
| Автор: En_t_end 16.7.2005, 20:13 |
| vadims Такое может прийти в голову людям имевшим опыт с чистыми Сями( вот и пример того, что все таки их учить надо в первую очередь). |
| Автор: reddevil 21.7.2005, 01:10 | ||||
не очень. |
| Автор: Guest 25.7.2005, 16:03 |
| reddevil Следи за типами. Один и тот же указатель может восприниматься как указатель на одномерный и двумерный массив. Все в твоих руках - как ты компилятору расскажешь, какой тип, так он и будети работать. Это не паскаль со строгой типизацией. |