![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
Комрады я вот не догоняю в чем проблема
если сделать так: int arr[5][5], * parr; parr = &arr[0][0]; компилятор утверждает что я реальный пацан, но если parr = arr; посылает меня к чертовой матери. Парадокс! |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Все правильно.
arr - это указатель на int[5] (на массив из массивов из пяти интов) а parr - это указатель на массив из интов тебе нужно объявлять parr, как int *(par[5]) (или без скобок, проверять лень, а подобные конструкции никогда не использую, так как ненужны). |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
гыгы. комрад bsa вы опустили профессора Хомоненко. Это его фишка - мол если с одномерными работает так то и с многомерными будет по анологии.
|
|||
|
||||
Solomon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 23.1.2006 Где: Украина Киев Репутация: нет Всего: 2 |
это не изменит ниче. Вопрос не втом то был. mrbrooks, у тебя parr это указатель, ему нельзя присвоить значение переменной, ему присваивается адресс переменной с помощью оператора &.(как ты делаеш в первом случае). А во втором случае получается parr ждет адресс в памяти, а ты ему пытаешся впихнуть значение переменно. вот и матюгается Добавлено @ 17:59 mrbrooks, или я неправельно вопроспонял? ![]() -------------------- Если не идти до конца к поставленным целям и не пытатся их достигнуть, каким бы тяжелым не казался путь, то лучше и не ставь их перед собой, но тот кто не ставит перед собой труднодоступные цели, никогда не ощутит эйфорию настоящей победы... победы над миром... Соломон 2008 |
|||
|
||||
Partizan |
|
||||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
[censored 6]....
и ничто не мешает нам это сделать....(я о преобразовании arr2 = (int*) arr1) ибо что здесь что там должен лежать адрес.... Добавлено @ 18:04
а вот и нет... во втором случае arr = это адрес переменной с индексами [0][0] ака начало массива... -------------------- СУВ, Partizan. |
||||
|
|||||
Xenon |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Partizan, то есть по-твоему это должно работать?
Это сообщение отредактировал(а) Xenon - 19.12.2006, 18:15 |
||||
|
|||||
Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: 4 Всего: 67 |
Xenon, всё правильно...ошибка с моей стороны...
-------------------- СУВ, Partizan. |
|||
|
||||
FunnyFalcon |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 76 Регистрация: 27.3.2006 Репутация: нет Всего: 7 |
А так? |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
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:10 |
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
To FunnyFalcon & bsa и конечно же Partizan!
Спасибо за советы! Все получилось! Это сообщение отредактировал(а) mrbrooks - 19.12.2006, 20:54 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |