![]() |
|
Модераторы: Poseidon |
![]()
|
|
| reddevil |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.6.2005 Где: Украина. г.Днепро петровск Репутация: нет Всего: нет |
Помогите пожалуйста.
Мне надо в программе передавать из одной функции, в другую, двухмерные массивы а по указателю на массив, почемуто получается он одномерный? А вот с одномерным небольшой но гимарой получается. Вот пример моей программы: (Правда небольшой фрагмент) Есть массив выполняющий роль виртуального экрана, для построения вывода на экран игральных кубиков. Еще шесть массивов содержащие "графические грани" этих кубиков, 6 граней - 6 массивов. Массив рамки для грани кубика, надпись WIN и LOSE. Итого 10 массивов. Случайным числом определяю что выпало на кубике и копирую значение соответствуюшей грани кубика в массив экрана, затем второй кубик, а потом вывожу массив экрана на экран, а потом надпись WIN или LOSE соответственно.
Почему?.... Не знаю |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 11 Всего: 360 |
А цикл обнуления нужен обязательно, так как по умолчанию компилер его не делает и в строках лежит мусорж
|
|||
|
||||
| reddevil |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.6.2005 Где: Украина. г.Днепро петровск Репутация: нет Всего: нет |
Спасибо за пример
А про обнуление я знал, просто сразу не подумал, делал пример покороче, удалил - лажа, поэтому оставил с |
|||
|
||||
| vadims |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 305 Регистрация: 8.6.2005 Репутация: нет Всего: 17 |
Извини, но вникать в твой код сейчас возможности нет
Реагирую на фразу
В C практически невозможно передать массив (только через структуры/классы) - передается указатель - адрес . А Как его использоать - зависит от тебя Тут простая схема распределения памяти - допустим массив char Mas[123][456]; и функция void funct( char *m ) доступ к (i,j) элементу будет выглядеть val = *(m + i*456 + j); -------------------- Cpu not found ! Press any key for software emulation. |
|||
|
||||
| reddevil |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.6.2005 Где: Украина. г.Днепро петровск Репутация: нет Всего: нет |
vadims
Спасибо за ответ, но я и задал свой вопрос именно потому что такой метод мне и показался не |
|||
|
||||
| Гость_Dust |
|
|||
|
Unregistered |
Дык а не пофиг как передаешь? Главное как используешь...
В жизни мало примеров, где размер массива известен и не изменен.
Надеюсь идея понятна? |
|||
|
||||
| En_t_end |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2074 Регистрация: 4.12.2004 Репутация: 2 Всего: 20 |
vadims
Такое может прийти в голову людям имевшим опыт с чистыми Сями( вот и пример того, что все таки их учить надо в первую очередь). |
|||
|
||||
| reddevil |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 27.6.2005 Где: Украина. г.Днепро петровск Репутация: нет Всего: нет |
не очень. Это сообщение отредактировал(а) reddevil - 21.7.2005, 01:11 |
||||
|
|||||
| Guest |
|
|||
|
Unregistered |
reddevil
Следи за типами. Один и тот же указатель может восприниматься как указатель на одномерный и двумерный массив. Все в твоих руках - как ты компилятору расскажешь, какой тип, так он и будети работать. Это не паскаль со строгой типизацией. |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |