Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.03.2012, 15:49   #1
Jack125
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 24
По умолчанию Адрес первого элемента двумерного массива

Доброго времени суток

Возник вопрос, касающийся имени двумерного массива из чисел типа int, а точнее, по типу, который имеет это имя. Допустим, есть массив:

int arr[2][2];

Arr имеет тип int[2][2], т.е. массив из двух одномерных массивов из двух int. Но так же известно, что arr - это адрес первого элемента этого самого двумерного массива, т.е. это указатель на одномерный массив из двух int, или int*[2]. Таким образом получается, что тип int[2][2] - это тоже самое, что и int*[2], но при выражении

(int*[2])arr;

возникает "error C2440: приведение типов: невозможно преобразовать 'int [2][2]' в 'int *[2]'".
Но ведь это фактически один и тот же тип. Почему тогда невозможно такое преобразование? Или это так компилятором задумано?
Jack125 вне форума Ответить с цитированием
Старый 29.03.2012, 15:56   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Jack125
Код:
(int(*)[2])arr;
int*[2] - массив из двух указателей на int
int(*)[2] - указатель на массив из 2-х интов
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 29.03.2012 в 16:00.
pproger вне форума Ответить с цитированием
Старый 29.03.2012, 16:44   #3
Jack125
Пользователь
 
Регистрация: 16.10.2010
Сообщений: 24
По умолчанию

Большое спасибо
Jack125 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти сумму модулей элемента массива, расположенных после первого отрицательного ? МоЗгАвеД Общие вопросы C/C++ 0 12.12.2011 17:36
Нахождение первого отрицательного элемента массива druger Помощь студентам 1 15.10.2011 13:59
Что нетак с выводом первого элемента первого массива? alex1442 PHP 5 15.05.2011 12:55
Адрес первого поля класса Selestis Общие вопросы Delphi 2 05.08.2010 22:31
Си -Расположить элементы в порядке возрастания от первого нулевого элемента до отрицательного элемента Freia Помощь студентам 17 13.12.2009 15:41