| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Чисто филосовский вопрос |
| Автор: mrbrooks 19.12.2006, 16:28 |
| Комрады я вот не догоняю в чем проблема если сделать так: int arr[5][5], * parr; parr = &arr[0][0]; компилятор утверждает что я реальный пацан, но если parr = arr; посылает меня к чертовой матери. Парадокс! |
| Автор: bsa 19.12.2006, 16:37 |
| Все правильно. arr - это указатель на int[5] (на массив из массивов из пяти интов) а parr - это указатель на массив из интов тебе нужно объявлять parr, как int *(par[5]) (или без скобок, проверять лень, а подобные конструкции никогда не использую, так как ненужны). |
| Автор: mrbrooks 19.12.2006, 17:55 |
| гыгы. комрад bsa вы опустили профессора Хомоненко. Это его фишка - мол если с одномерными работает так то и с многомерными будет по анологии. |
| Автор: Partizan 19.12.2006, 18:02 | ||||
[censored 6]....
и ничто не мешает нам это сделать....(я о преобразовании arr2 = (int*) arr1) ибо что здесь что там должен лежать адрес.... Добавлено @ 18:04
а вот и нет... во втором случае arr = это адрес переменной с индексами [0][0] ака начало массива... |
| Автор: Xenon 19.12.2006, 18:15 | ||||
Partizan, то есть по-твоему это должно работать?
|
| Автор: Partizan 19.12.2006, 18:31 |
| Xenon, всё правильно...ошибка с моей стороны... |
| Автор: FunnyFalcon 19.12.2006, 18:32 | ||
А так? |
| Автор: mrbrooks 19.12.2006, 20:05 |
| To Solomon В документации сказано что при работе с массивами и указателями код (к примеру) имеет вид: int mass[5][5],*parr; либо parr = &mass[0][0] либо parr = mass - что типа одно и то же - компилятор так должен это воспринимать. Дескать начало массива. Здесь коллега Partizan абсолютно прав. Иначе спорить прошу к старине Бьерну =). Вот для массива: int mass[5],*parr; и parr = mass и parr = &mass[0] - действует безотказно. To FunnyFalcon Хорошая идея. Стоит попробывать. |
| Автор: mrbrooks 19.12.2006, 20:51 |
| To FunnyFalcon & bsa и конечно же Partizan! Спасибо за советы! Все получилось! |